1

我知道天真的方法是使用[^a]b[^c](for bnot before aand not behind by c),但我也想在字符串b开头结尾进行匹配。

4

1 回答 1

3

您使用的是哪种正则表达式?如果您可以使用 Perl 正则表达式,则可以使用负后瞻和负前瞻:

(?<!a)b(?!c)

否则,您通常可以做的最好的事情是:

([^a]|^)b([^c]|$)

即 b 前面是除 a行首之外的任何内容,后面是除 c行尾之外的任何内容。

于 2013-04-08T08:09:04.237 回答