\正则表达式W不匹配

时间:2013-02-11 08:03:23

标签: regex pcre

我有这个正则表达式:

s/[abgn][\W].*/

我想匹配这些示例:

  • a.M.X.y.Z
  • B'/ LI>
  • 克/ S / d%K / K

我不想匹配:

  • aM.X.y.Z
  • 垃圾邮件

我希望你看,如果我想匹配一个字符串,第二个字符不应该是字char。 但是我的正则表达式没有用。它匹配,虽然有\ W. 我不知道为什么它不匹配。

2 个答案:

答案 0 :(得分:1)

尝试使用

s/[abgn]([\W].*|$)/

答案 1 :(得分:0)

我不确定你为什么在开头使用过s /但是这里有一个适合你的表达

[abgn](?!\w)[\w\.]*
<?>(?!\ w)是一个负向前瞻性表达,意味着[abgn]后面不能跟一个\ w

这应该匹配 a.M.X.y.Z B'/ P>

而不是 AB AX