我有这个正则表达式
<a(.*?)person\=([0-9]*)(.*?)>(.*?)<\/a>
将任何锚点与具有数值
的人物查询字符串匹配我需要对其进行优化,以便将锚点与一个名为entry.aspx的页面匹配,并使用查询字符串值
IE
<a href="entry.aspx?val1=1&person=12" target="_blank">test</a>
<a href="entry.aspx?person=1&val2=hello">more testing</a>
是匹配
<a href="entry.aspx?val1=1&val2=12" target="_blank">test</a>
<a href="noentry.aspx?person=1&val2=hello">more testing</a>
不是
非常感谢任何帮助
答案 0 :(得分:3)
快速拍摄:
<a href=\"entry.aspx\?.*(?=person).*>.*<\/a>
请参阅example@regex101
说明:使用positive lookahead此表达式仅在person
之后entry.aspx
之后和>
之前匹配。
答案 1 :(得分:0)
更具体地说,你可以给:
<a href=["]entry[.]aspx[?]([a-zA-Z0-9]+[=][a-zA-Z0-9]+[&]?)*person[=]([0-9]+)([&]?[a-zA-Z0-9]+[=][a-zA-Z0-9]+)*["]([ ]?[a-zA-Z0-9]+[=][_"a-zA-Z0-9]+)*>[a-zA-Z0-9 ]*<\/a>