我只想屏蔽指定的格式。
格式:(123)(12)(1234);它不应该屏蔽(123)(123)(1234)
输出:(###)(##)(1234)
我正在使用这个脚本:
console.log(str.replace(/\b\(\d{3}\)\(\d{2}\)(\d{4})\b/g, '(###)(##)$1'));发布于 2018-08-28 10:35:37
不需要任何捕获组。尝试对四位数使用先行查找,并确保使用\(对文字括号进行转义
\(\d{3}\)\(\d{2}\)(?=\(\d{4})
const mask = str => str.replace(/\(\d{3}\)\(\d{2}\)(?=\(\d{4}\))/g, '(###)(##)')
console.log(mask('(123)(123)(1234)'))
console.log(mask('(123)(12)(1234)'))
console.log(mask('(123)(12)(12345) and (123)(12)(12345) and (123(12)(1234)'));
https://stackoverflow.com/questions/52049248
复制相似问题