【发布时间】:2017-06-30 21:39:19
【问题描述】:
我的目标是在每两位正则表达式上添加三位数字,然后添加一个破折号。
示例:给定
01234342323
我需要获取
012-34-34-23-23
我正在使用这个正则表达式:\B(?=(\d{3})+(?!\d)),但它没有按预期工作。我应该对其进行哪些更改才能使其正常工作?
【问题讨论】:
我的目标是在每两位正则表达式上添加三位数字,然后添加一个破折号。
示例:给定
01234342323
我需要获取
012-34-34-23-23
我正在使用这个正则表达式:\B(?=(\d{3})+(?!\d)),但它没有按预期工作。我应该对其进行哪些更改才能使其正常工作?
【问题讨论】:
您可以使用以下模式
^\d{3}|(?!^)\d{2}(?!$)
替换成
$0-
此模式将匹配字符串开头的 3 位数字或既不在开头(仅两位数字)也不在结尾(以避免尾随 -)的 2 位数字.替换重新插入匹配的字符串并向其添加-。
【讨论】: