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

Three digits followed by dash after every two digits regex

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

示例:给定

01234342323

我需要获取

012-34-34-23-23

我正在使用这个正则表达式:\B(?=(\d{3})+(?!\d)),但它没有按预期工作。我应该对其进行哪些更改才能使其正常工作?

您可以使用以下模式

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

并将其替换为

[=11=]-

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

https://regex101.com/r/tLsjCE/1