每两位正则表达式后三位数后跟破折号

时间:2017-06-30 12:46:56

标签: regex digit

我的目标是在每两位正则表达式上添加三位数后跟一个破折号。

示例:给定

  

01234342323

我需要获得

  

012-34-34-23-23

我正在使用此正则表达式:\B(?=(\d{3})+(?!\d)),但它没有按预期工作。我应该改变它以使其有效?

1 个答案:

答案 0 :(得分:2)

您可以使用以下模式

^\d{3}|(?!^)\d{2}(?!$)

并将其替换为

$0-

此模式将匹配字符串开头的3位数字或2位数字,这些数字既不是在开头(对于只有两位数的数字),也不是在结尾处(以避免尾随) -)。替换重新插入匹配的字符串并向其添加-

请参阅https://regex101.com/r/tLsjCE/1