用最后四位数替换数字

时间:2014-10-31 20:37:12

标签: regex

我想用以下图案替换七位或更多位数。

12345674567/1234567

我使用以下正则表达式匹配数字(\d*(\d{4}))并将其替换为$2/$1

有没有有效的方法可以做到这一点?

1 个答案:

答案 0 :(得分:2)

更有效的方式是(\d+(\d{4})),因为当你的数字少于五位时,你不需要做任何事情。更准确地说,您可以使用带范围的字符类,因为您只使用ascii数字:([0-9]+([0-9]{4})) \d可能确实包含所有类型的数字,如٢ {{1}在unicode中看到的意思)

我没有看到更好的模式结构。但如果你有几个数字(少于九个),使用非贪婪量词可能会更好:

\d