正则表达式“不包含”怎么写?

作者:vkvi 来源:ITPOW(原创) 日期:2017-9-7

比如,要查找字符串中是否包含Z50,现在有要求:

以 Z50 开头,匹配。

Z50 前面有非字母,比如“车次Z50”,匹配。

Z50 前面有字母,比如“班次PZ50”,不匹配。

要写这么个表达式,怎么写呢?如下:

([^A-Z]|^)(Z50)

这里要说明:

  • ^ 放在 [] 表示非,放在外面表示字符串开头。
  • 由于使用了 |,所以需要使用括号,尽管括号的最初用途是拿来获取匹配内容的。
  • 不能写作 [^A-Z](Z50),因为它要求前面必须要有一个非字母。
  • 不能写作 [^A-Z]*(Z50),因为它并没有禁止前面出现字母。
相关文章