2017-04-26 187 views
2

我需要找到具有特定字符(字母,数字和特殊字符)的所有单词并忽略其余部分。正则表达式匹配仅包含特定字符的整个单词

这里是我的expression

/[cwh]\w+/ig 

例子:

  • 比赛:手表,因为cw藏汉作为h存在于这个词

  • 小号硖:欢迎,因为只有cW是本

表达需要匹配大小写不敏感的。

非常感谢您的帮助。

+0

难道 “欢迎” 仍然匹配,因为它有一个小写字母 “C”? – musicnothing

+1

我编辑了你的文章,让你的观点清楚。如果我误解了你的目标,请回滚它。 –

+0

@Kinduser谢谢,这很有帮助。我不知道它是否应该包含所有的字母或只是一些。 – musicnothing

回答

2

你必须用积极的向前看符号:

\b(?=\w*c)(?=\w*h)(?=\w*w)\w+ 

Live demo

+0

谢谢,它工作正常。 –

+0

不客气。如果您发现它有帮助,您可以点击答案旁边的复选标记来接受此答案。 – revo

0

我不知道你的比赛规则是什么 - 因为这两个观看(小写字母W)和欢迎(小写字母c)将在列表中匹配的字符。但是

\w*[cwh]\w*/g 

可能是你之后。

这将匹配零个或多个单词字符,从你的列表中的一个字符,并以大小写敏感的方式(瓦特有别于W¯¯)零个或多个单词字符全球(多每行匹配的可能)。

相关问题