zch11230 发表于 2010-9-19 22:52:46

[已解决]如何匹配一个带括号的字符串

本帖最后由 zch11230 于 2010-9-19 23:18 编辑

获取到一个字符串如"Active(G:)"不含引号 但只需要用到其中的G: 在论坛搜索到别人的提问
$a="(中华人民共合国)"
$b=StringRegExp($a,"(?<=中华).*(?=共合国)",2)
但是我发现匹配其它字符串都可以 一加括号就不行了 麻烦知晓的告知一下 谢谢

afan 发表于 2010-9-19 23:03:31

$Str = 'Active(G:)'
Msgbox(0, $Str & '替换后', StringRegExpReplace($str, '.*\((.+)\)', '$1'))

zch11230 发表于 2010-9-19 23:17:45

感谢afan再一次的帮助
代码测试成功 但还不懂其中含意 正在读"正则表达式30分钟入门教程" 看起来头好大啊

Ziya 发表于 2010-9-20 09:01:23

如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.
例如:deerchao\.net匹配deerchao.net,C:\\Windows匹配C:\Windows。

写的很清楚嘛
匹配括号,就把括号前面加上\
页: [1]
查看完整版本: [已解决]如何匹配一个带括号的字符串