2 回答
TA貢獻1827條經驗 獲得超4個贊
您可以使用
var s = "\\n\\n \\n (555) 555-5555 (Main)\\n\\n, \\n\\n \\n (777) 777-777 (Domestic Fax)\\n\\n";
console.log(
s.replace(/^[^]*?\((\d{3})\)\s*(\d+)-(\d+)\s*\(Main\)[^]*/, '$1-$2-$3')
);
詳
^- 字符串的開頭[^]*?- 任何0或更多字符,盡可能少\(- 一((\d{3})- 第1組:三位數字\)- 一個字符)\s*- 0+ 空格(\d+)- 組 2:一個或多個數字-- 一個連字符(\d+)- 第3組:一個或多個數字\s*- 0+ 空格\(Main\)- 一個字符串(Main)[^]*- 字符串的其余部分。
請參閱正則表達式演示。
TA貢獻1856條經驗 獲得超5個贊
這對你有用嗎?
const str = `\n\n \n (555) 555-5555 (Main)\n\n, \n\n \n (777) 777-777 (Domestic Fax)\n\n`,
[,code, phone] = str.match(/\((\d{3})\)\s(\d{3}\-\d{4})\s\(Main\)/),
result = `${code}-${phone}`
console.log(result)
添加回答
舉報
