匹配sentece中每个单词的模式

时间:2015-11-19 13:31:00

标签: javascript regex

我有以下模式:/*.a*.b*.c/,它将按顺序匹配包含a bc的任何输入。

所以以下字符串将匹配我的模式:

  • 555 a fgb ccc
  • a b c
  • atbtc

我想要实现的只是整个单词而不是整个句子中的匹配。所以以下字符串将匹配:

  • i want abc 但以下内容不匹配:
  • a b c

我通过执行str.split(“”)来解决它并分别在每个单词上运行我的模式,但我确信有一种方法可以通过单个正则表达式匹配来实现它。

感谢。

3 个答案:

答案 0 :(得分:1)

只需将.替换为正则表达式中的[^\s](空格以外的任何字符)。

/[^\s]*a[^\s]*b[^\s]*c/

请参阅RegEx Demo

答案 1 :(得分:0)

/[ ]+(abc)[ ]+/g应解决您的案件

答案 2 :(得分:0)

试试这个正则表达式/([^ ]*a[^ ]*)( )*([^ ]*b[^ ]*)( )*([^ ]*c[^ ]*)( )*/

然后,如果你想捕获包含a,b和c的单词。您需要使用match

使用此正则表达式,根据匹配的括号,单词将位于第1,3和5位。

要获得更多详细信息并构建正则表达式,您可以使用https://regex101.com/