Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在示例 string"a f e $s $a"中,我想匹配所有没有前置“$”字符的字符。
"a f e $s $a"
我尝试使用负面的前瞻性:
"(?!\\$)[a-z]"
但它也匹配$sand $a。我做错了什么?
$s
$a
使用否定的lookbehind,即(?<!\\$)
(?<!\\$)
"(?<!\\$)[a-z]"
您使用的是负前瞻,即(?!\\$)
(?!\\$)
这是一个前瞻断言,这意味着它将匹配任何不是美元符号的字母,也就是说,所有这些:)
你需要回顾一下:
负后瞻的正确语法是(?<!...), not (?!...),因为那是负前瞻。
(?<!...)
(?!...)
使用模式
(?<!\\$)[a-z]