Regex to evaluate, but ignore certain characters?
我为我的regex noobiness道歉,但我不知道如何创建忽略某些字符的regex。
1 2 3 | var foo ="123", bar ="1 (234) a12-34a1", result = bar.replace(new RegExp(foo,"ig"),"bcd"); |
如果regex被忽略[s()-],则结果应为
1 | "b (cd4) abc-d4a1" |
有办法吗?
更新:
这就是问题的背景:我必须接受一串数字,在电话号码中找到它(以各种方式显示),然后在电话号码中突出显示它。
通常,我只做一个简单的替换,例如:
1 2 3 | var foo ="foo", str ="foobar", newStr = str.replace(new RegExp(foo,"ig"),"<span class='highlighted'>" + foo +"</span>"); |
但格式设置阻碍了这一点。
实例:
searchstr->预期输出
123->1(234)567-8901
345~123-467
56789->123(45)678-9012
这样地?
1 2 3 4 5 | var foo ="1([\\s()-]*)2([\\s()-]*)3", bar ="1 (234) a12-34a1", result = bar.replace(new RegExp(foo,"ig"),"b$1c$2d"); result; //b (cd4) abc-d4a1 |