我的目标是在每两位正则表达式上添加三位数后跟一个破折号。
示例:给定
01234342323
我需要获得
012-34-34-23-23
我正在使用此正则表达式:\B(?=(\d{3})+(?!\d))
,但它没有按预期工作。我应该改变它以使其有效?
答案 0 :(得分:2)
您可以使用以下模式
^\d{3}|(?!^)\d{2}(?!$)
并将其替换为
$0-
此模式将匹配字符串开头的3位数字或2位数字,这些数字既不是在开头(对于只有两位数的数字),也不是在结尾处(以避免尾随) -
)。替换重新插入匹配的字符串并向其添加-
。