[英]Regex to evaluate, but ignore certain characters?
我為正則表達式的笨拙而道歉,但是我不知道如何創建一個忽略某些字符的正則表達式。
var foo = "123",
bar = "1 (234) a12-34a1",
result = bar.replace(new RegExp(foo,"ig"),"bcd");
如果正則表達式忽略了[\\ s()-],則結果應為
"b (cd4) abc-d4a1"
有沒有辦法做到這一點?
更新:
問題的背景如下:我必須接受數字字符串,然后在電話號碼中找到它(以多種方式顯示),然后在電話號碼中突出顯示它。
通常,我只會做一個簡單的替換,例如:
var foo = "foo",
str = "foobar",
newStr = str.replace(new RegExp(foo,"ig"),"<span class='highlighted'>" + foo + "</span>");
但是格式阻礙了這一點。
例子:
searchStr->預期輸出
123-> 1(23 4)567-8901
345-> 12 3-45 67
56789-> 123(4 5)678-9 012
像這樣?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.