使用正则表达式 - 替换,我正在尝试格式化这样的数字:
前导号码应以+分隔。此外,最后一个数字也应该用+分隔。更棘手的部分是,应该删除+到中间部分的相邻1,而不触及第一个和最后一个数字,例如,
011023040 - > 0 + 02304 + 0
111023920443 - > 1 + 02392044 + 3
13242311 - > 1 + 32423 + 1
我几乎通过以下正则表达式来实现这一目标:
'^([0-9]{1})([1]+)?([0-9*)(0-9]{1}$'
并将其替换为
'\1+\3+\4'
但是,我对最后一个示例有疑问,因为它返回:
1+324231+1
但是,应删除第二个+之前的那个。
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
答案 1 :(得分:0)
我设法按以下方式对数字进行分组
^(\d)(1*)(\d+)(\d)$
使用多行和全局标记。
替换应该看起来像\1+\3+\4