我想匹配&符号(&)但不是以下列方式存在
'
"
>
<
&
&#
所以在以下行中
& MY& NAME IS M&Hh. ' " > < & &# &&&&&&
我希望它匹配除了存在的所有&符号之外的所有&符号
' " > < & &#
答案 0 :(得分:27)
这似乎是negative lookahead assertions的工作:
&(?!(?:apos|quot|[gl]t|amp);|#)
应该有用。
<强>解释强>
& # Match &
(?! # only if it's not followed by
(?: # either
apos # apos
|quot # or quot
|[gl]t # or gt/lt
|amp # or amp
); # and a semicolon
| # or
\# # a hash
) # End of lookahead assertion