当我使用时:
(Act\sNo.\s\d+\sof\s\d+,[^\Q</ref>\E])
然后匹配:
Act No. 5 of 20,
但这不是:
<ref id="" status="" href="412">Act No. 5 of 20,</ref>
哪个是正确的。
现在我想做类似的事情。当我使用时:
(Cap.\s\d+[^\Q</ref>\E])
然后匹配:
Cap. 412
这样做(即使它不应该):
<ref id="" status="" href="412">Cap. 412</ref>
但是,我注意到如果我在正则表达式和文本中,
之后有一个逗号412
,那么它就像上面的例子一样。总而言之,它应该不包括最后有</ref>
的那些。我一直在这里测试:RegExr
答案 0 :(得分:1)
不要在HTML上尝试正则表达式。首先,通过DOM函数解析HTML,然后在值上使用RegEx。
答案 1 :(得分:0)
[^\Q</ref>\E]
应为(?!\Q</ref>\E)
[^\Q</ref>\E]
中的字符将被单独处理
答案 2 :(得分:0)
我明白了。我只需要按如下方式更改它:(Cap.\s\d+(?!.*</ref>))