正则匹配求助(已解决)
本帖最后由 b18821 于 2015-11-27 18:03 编辑有几种可能:
我是 小王王(中间若干空格)
我是大王长木(中间无空格)
我是:小王小 (中间是冒号半角)
我是:李小王小李 (中间是冒号全角)
我是: 张小王 (中间是全或半角冒号混合若干空格)
现在要匹配后面的名称,正则怎么写?
就是得到:小王王 大王长木 小王小 李小王小李 张小王 不好意思没说全,上面的”是” 也可以是”叫””为”等。 我[是为叫].*?([\x{4e00}-\x{9fa5}]+) 版主啊,我这测试不行啊!
#
include <StringConstants.au3>
Local $string='我是 小王王(中间若干空格)我是大王长木(中间无空格)我是:小王小 (中间是冒号半角)我是:李小王小李 (中间是冒号全角)我是: 张小王 (中间是全或半角冒号混合若干空格)'
Local $aArray = StringRegExp($string, '我[是为叫].*?([\x{4e00}-\x{9fa5}]+)', $STR_REGEXPARRAYFULLMATCH)
For $i = 0 To UBound($aArray) - 1
MsgBox(0, "我是可爱的结果 " & $i, $aArray[$i])
Next #include <StringConstants.au3>
Local $string='我是 小王王(中间若干空格)我是大王长木(中间无空格)我是:小王小 (中间是冒号半角)我是:李小王小李 (中间是冒号全角)我是: 张小王 (中间是全或半角冒号混合若干空格)'
Local $aArray = StringRegExp($string, '我[是为叫].*?([\x{4e00}-\x{9fa5}]+)', $STR_REGEXPARRAYFULLMATCH)
For $i = 0 To UBound($aArray) - 1
MsgBox(0, "我是可爱的结果 " & $i, $aArray[$i])
Next 回复 5# b18821
为什么你测试字符串要变成那样?Local $string='我是 小王王' & @CRLF & '我是大王长木' & @CRLF & '我是:小王小' & @CRLF & '我是:李小王小李' & @CRLF & '我是: 张小王'
Local $aArray = StringRegExp($string, '我[是为叫].*?([\x{4e00}-\x{9fa5}]+)', 3)
For $i = 0 To UBound($aArray) - 1
MsgBox(0, "我是可爱的结果 " & $i, $aArray[$i])
Next 版主好厉害啊!!
嗯...
.点 匹配任何单个字符*重复任意次?重复0、1次 学习了!
能否一题多解呢?还有没有别的答案! 再请教下版主,里面的?号我还没理解,它的作用域是谁呢?是.*,还是所有前面的模式? 回复 6# afan
打酱油路过此地,幸会幸会...A版,我就是想问问撸主为啥要那么匹配? 回复 9# haijie1223
为了写一个自动回复的代码,是java下的,这个au3的匹配的确是很完美!! 回复 9# haijie1223
回复带人的名字,可以显的亲切一点.
比如: 王小小 亲,你好.....
页:
[1]