仅在不在其他符号之前或之后的符号时匹配符号

时间:2013-04-08 08:05:48

标签: regex

我知道天真的方式是使用[^a]b[^c]b前面没有a而后面没有c),但我也想匹配{ {1}}当它位于字符串的开头结尾时。

1 个答案:

答案 0 :(得分:3)

你使用什么样的正则表达式?如果你可以使用Perl正则表达式,你可以使用负向lookbehind和负向前瞻:

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

否则你能做的最好的事情通常是:

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

即。 b之前除了之外的任何东西,除了c 之外的任何东西,除了之外的任何东西。