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

Matching string with spaces in random places?

本文关键字:字符串 空格 随机 位置      更新时间:2023-09-26

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

  1. sometext              
  2. some text              
  3. so metex.t            
  4. 111 s.o.m.e t e x t 222

替换空格和点不是解决方案,因为我需要突出显示原始匹配的部分。

您可以使用:

/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"]

您可以先去除空格/其他字符,然后检查剩余的匹配项,例如:

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