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)
添加回答
举报
