我已成功匹配<
但未先于(负面后瞻断言)或跟随(负前瞻断言)<
<\@>!<<\@!
但是,当我尝试匹配排除>
的单个>>
时,以下表达式无效
>\@>!>>\@!
为什么呢?我该如何进行搜索?
答案 0 :(得分:4)
您的<\@>!<<\@!
正则表达式:
<\@>!
lireraly匹配<\@>!
;我认为你的意思是<\@<!
<
与<
<\@!
在当前位置不匹配,则<
与零宽度匹配适用于<\@<!<<\@!
。
断言后面的负面看法的语法是(atom)\@<!
,其中(atom)
是你不想匹配的东西。在这种情况下,这是<
,因此是<\@<!
。
负前瞻断言的语法是(atom)\@!
,其中(atom)
是您不想匹配的内容。在这种情况下,它是<
,因此是<\@!
。
在PCRE中,正则表达式将是:
(?<!<)<(?!<)
另一个正则表达式(>\@>!>>\@!
)有效。