标签: regex
我知道天真的方式是使用[^a]b[^c](b前面没有a而后面没有c),但我也想匹配{ {1}}当它位于字符串的开头或结尾时。
[^a]b[^c]
b
a
c
答案 0 :(得分:3)
你使用什么样的正则表达式?如果你可以使用Perl正则表达式,你可以使用负向lookbehind和负向前瞻:
(?<!a)b(?!c)
否则你能做的最好的事情通常是:
([^a]|^)b([^c]|$)
即。 b之前除了或之外的任何东西,除了c 或之外的任何东西,除了或之外的任何东西。