0

我有这个正则表达式:

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

我想匹配这些示例:

  • aMXyZ
  • b
  • g/S/d%k/k

我不想匹配:

  • aM.XyZ
  • 垃圾邮件

我希望你看到,如果我想匹配一个字符串,第二个字符不应该是一个单词字符。但是我的正则表达式不起作用。它匹配,尽管有 \W。我不知道为什么它不匹配。

4

2 回答 2

1

尝试使用

s/[abgn]([\W].*|$)/
于 2013-02-11T08:10:38.617 回答
0

我不确定你为什么一开始就使用 s/ 但这里有一个适合你的表达式

[abgn](?!\w)[\w\.]*

(?!\w) 是一个否定的前瞻表达式,这意味着 [abgn] 后面不能跟一个 \w

这应该匹配 aMXyZ b

而不是 aX

于 2013-02-11T08:17:19.807 回答