[已解决]au3正则不能“分组”吗,正则高手帮忙(看看这个例子)
本帖最后由 binghc 于 2010-9-18 17:06 编辑wefwelfjewf192.168.2.59sakfdljsdf
现在要匹配其中的ip地址,为什么
用 \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} 可以
(\d{1,3}\.){3}\d{1,3} 这个却不行,结果显示 “2.”
为什么?
再看一例:
sdffds kitty kitty sdfjsfd
用\b(\w+)\b\s+\1\b 这语句匹配结果显示只有一个kitty
这又是为什么啊
au3的正则是不是不支持“分组”和“后向引用”? 等待高手出现吧 $Str = 'wefwelfjewf192.168.2.59sakfdljsdf'
$sR = StringRegExp($str, '(?:\d{1,3}\.){3}\d{1,3}', 1)
Msgbox(0, 0, $sR)
$Str = 'sdffds kitty kitty sdfjsfd'
$sR = StringRegExp($str, '\b(\w+)\b\s+\1\b', 2)
Msgbox(0, 0, $sR) 怪了!{:face (319):}
那为什么我用“水木子“的‘正则测试工具v4.0’显示一个“kitty”,一个是“2.”
水木子看到此贴,能不能解释一下为什么会这样!
下面是图片:$Str = "wefwelfjewf192.168.2.59sakfdljsdf "
$Str2=StringRegExp($Str,"(\d{1,3}\.){3}\d{1,3}",2)
MsgBox(0,"",$Str2)
木子版版在养伤ing...
第一个应该是 (?:\d{1,3}\.){3}\d{1,3}
第二个应该用 StringRegExp 的标志 2,木子的都是3,所以如此 样式不一样,结果也不一样 (?: 不是不捕捉吗 回复 7# liufenglg
那是不捕捉匹配的内容,就是说后面不支持\1、\2之类的 3是返回数组。。 回复 1# binghc
解决了问题请及时加注“已解决”字样。
页:
[1]