我有一些字符串作为输入,例如:sometext
我必须使用什么模式在字符串中将其与空格和点匹配在任何地方:
sometext
some text
so metex.t
111 s.o.m.e t e x t 222
更换空格和圆点不是解决方案,因为我需要原始匹配的部分来突出显示。
答案 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/)