【已解决】求助正则捕获的问题
本帖最后由 kxing 于 2011-3-23 08:26 编辑下面字符串中捕获内容3可能有也可能没有。
<a href="...">(捕获内容1)</a> <br/>(捕获内容2)<br/><a href="...">(捕获内容3)</a>
也就是这段可能出现: <a href="...">(捕获内容3)</a>
我希望有捕获内容3的时候就捕获三个内容,否则捕获前面两个内容。
请求afan等高手帮忙,多谢! 哎!低手直接被无视了 本帖最后由 love5173 于 2011-3-22 22:02 编辑
用捕获就可以了,
\1\2\3 \3 后面加个??就OK了
因为你没给源码 代码我也不给你写了 嘿嘿,楼上的仁兄,你的意思我不太明白。
这串就是要正则的代码:<a href="...">(捕获内容1)</a> <br/>(捕获内容2)<br/>??<a href="...">(捕获内容3)</a>
但是这段可能出现也可能不出现:<a href="...">(捕获内容3)</a> ??的意思是重复1次或者0次 本帖最后由 afan 于 2011-3-23 00:29 编辑
是这意思不?#include <Array.au3>
Local $Str = '<a href="...">(捕获内容1)</a> <br/>(捕获内容2)<br/><a href="...">(捕获内容3)</a>'
;$Str = '<a href="...">(捕获内容1)</a> <br/>(捕获内容2)<br/>'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExp($str, '<a.+?>(.+?)</a.+?br/>(.+?)<br/>\h*(?=(?!<a)|<a.+?>(.+?)</a)', 1)
;$Test = StringRegExp($str, '<a.+?>(.+?)</a.+?br/>(.+?)<br/>\h*(?:<a.+?>(.+?)</a)?', 1)
_ArrayDisplay($Test, UBound($Test)) thank you!!!!就是这个意思 。
多谢afan大!!!! 请教下,这个(?:...)?什么含义呢?
第一个例子实在看不懂。。。 回复 1# kxing
正则有很多方法^^
\([^\00-\xff]*\d*\)
页:
[1]