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)
添加回答
舉報