我想用以下图案替换七位或更多位数。
1234567
至4567/1234567
我使用以下正则表达式匹配数字(\d*(\d{4}))
并将其替换为$2/$1
有没有有效的方法可以做到这一点?
答案 0 :(得分:2)
更有效的方式是(\d+(\d{4}))
,因为当你的数字少于五位时,你不需要做任何事情。更准确地说,您可以使用带范围的字符类,因为您只使用ascii数字:([0-9]+([0-9]{4}))
(\d
可能确实包含所有类型的数字,如٢
{{1}在unicode中看到的意思)。
我没有看到更好的模式结构。但如果你有几个数字(少于九个),使用非贪婪量词可能会更好:
\d