在随机位置匹配字符串与空格?

时间:2014-11-22 14:49:31

标签: javascript regex string

我有一些字符串作为输入,例如:sometext
我必须使用什么模式在字符串中将其与空格和点匹配在任何地方:

  1. sometext              
  2. some text              
  3. so metex.t            
  4. 111 s.o.m.e t e x t 222
  5. 更换空格和圆点不是解决方案,因为我需要原始匹配的部分来突出显示。

2 个答案:

答案 0 :(得分:2)

您可以使用:

/s\W*o\W*m\W*e\W*t\W*e\W*x\W*t/
>>> foo = "sometext"
    bar = "sometext|some text|so metex.t|111 s.o.m.e t e x t 222".split(/\|/g)

    regex = new RegExp(foo.split(/|/g).join('\\W*'))
    console.log(regex)

    arr = []
    for (i = 0; i < 4; i++)
      arr.push(regex.exec(bar[i])[0])

    arr

<<< /s\W*o\W*m\W*e\W*t\W*e\W*x\W*t/
... ["sometext", "some text", "so metex.t", "s.o.m.e t e x t"]

答案 1 :(得分:0)

您可以先删除空格/其他字符,然后检查其余字符是否匹配:

yourString.replace(/[ .]+/g, '').match(/sometext/)