正则表达式匹配带有和没有空格的多个单词

时间:2015-03-10 13:49:33

标签: javascript regex

我在JavaScript中有这样的对象:

['abc def ghi', 'abcdef ghi', 'abc DEFghi']

我希望将所有元素与正则表达式匹配。我到目前为止:

/(abc def ghi)/ig

我知道像\s*这样的空格表达式,但有没有办法使用它而不必将它注入到我对象的每个元素的每个空格中?

3 个答案:

答案 0 :(得分:1)

您可以将此正则表达式用于可选空格匹配:

var reg = /\babc ?def ?ghi\b/i;

\b用于字边界。

或者您可以事先从输入中删除所有空格并将字符串匹配为:

var m = input.replace(/\s+/g, "").match(/\babcdefghi\b/i);

答案 1 :(得分:1)

您可以使用.replace(/\s/g, '').match(/abcdefghi/)如果允许空格在任何地方。

如果您只想忽略某个位置的空间,abc *def *ghi足够短。

答案 2 :(得分:1)

您可以使用/([a-iA-I\s]+)/ig

应匹配对象中的所有内容。