(已解决)正则匹配多个类似项问题
本帖最后由 qazwsxedc 于 2016-2-19 08:21 编辑有源字符串:aa<div>test1</div>bb<div>test2</div>cc<div>test3</div>dd,
字符串按同样规律可继续加长,其中aa,bb,cc,dd,test1,test2,test3是变化的,
要求匹配到test2或test3,
请问正则如何写? 怎么能 "test2 或 test3" 呢?要么指定 2 要么指定 3,要么都要,"或"是几个意思….+?/div>.+?>(.+?)</div 回复 2# afan
Afan人才~明察秋毫啊~>.*?</div>.*?<div>(.*?)</div.*?<div>(.*?)</div 是位置不确定,有时候是test2,有时候是其它位置,如test6,所以不能以<div>test?</div>对的位置判断 是位置不确定,有时候是test2,有时候是其它位置,如test6,所以不能以test?对的位置判断
qazwsxedc 发表于 2016-2-18 17:00 http://www.autoitx.com/images/common/back.gif
所以 你连自己都不确定是哪个? _ _|| 基本的匹配需求特征都不描述怎么帮? 是的,第一次忘了,匹配时知道<div>test?</div>xx,xx是知道的 Local $sSource = 'aa<div>test1</div>bb<div>test2</div>xx<div>test3</div>dd'
;~MsgBox(0, '源字符串', $sSource)
Local $sK = 'xx'
Local $aSRE = StringRegExp($sSource, '>([^<]+?)</div>' & $sK, 3)
If Not @Error Then MsgBox(0, '匹配数量: ' & UBound($aSRE), '其中元素为: ' & $aSRE)
谢谢!问题解决
另外,突然想到如上同样结构的字符串,如果<div>test?</div>xx改为cat This is an example! end of cat
,[^<]该如何修改? afan果然大神耶 谢谢!问题解决
另外,突然想到如上同样结构的字符串,如果test?xx改为cat This is an example! end of ca ...
qazwsxedc 发表于 2016-2-18 19:03 http://www.autoitx.com/images/common/back.gif
“如果<div>test?</div>xx改为cat This is an example! end of cat” 你这样整句改 毛都匹配不到 回复 10# afan
{:face (197):} 就喜欢A大不经意的幽默~
页:
[1]