如何匹配包括特殊字符的整个单词

时间:2019-12-25 05:42:48

标签: javascript regex

我遇到了将整个单词与某些特殊字符匹配的问题。

这是我正在尝试的模式:

(\b)(\w*dog\w*)(\b)|(\b)(\w*ion\w*)(\b)

基本上,我正在尝试匹配包含dogion的所有单词。问题是\w*与所有特殊字符都不匹配。

这是我尝试过的:https://regex101.com/r/wN6tI9/5

1 个答案:

答案 0 :(得分:1)

我可以建议以下正则表达式模式:

\S*(?:dog|ion)\S*

这将匹配包含dogion作为子字符串的任何较大的单词,此处的“较大的单词”表示任何连续的非空白字符序列。这是一个演示:

var input = "@hellodogworld$";                   // contains dog
console.log(/^\S*(?:dog|ion)\S*$/.test(input));
input = "blah";                                  // does not contain dog or ion
console.log(/^\S*(?:dog|ion)\S*$/.test(input));