从右到左每n个字符插入一个字符?

时间:2018-03-18 00:23:03

标签: regex

是否有一个简单的正则表达式可以插入一个字符,比如一个冒号:,每个n个字符,比方说2,从字符串中从右到左?

例如......

059 - > 0:59

14598 - > 1:45:98

340001 - > 34:00:01

2 个答案:

答案 0 :(得分:1)

如果您的环境支持lookarounds,您可以使用前瞻检查前面任意两个字符中的一个或多个字符,直到字符之间任意位置的$行结尾(使用\B一个非word boundary来触发单词字符之间的前瞻)并用冒号替换。

\B(?=(?:..)+$)

See demo at regex101

答案 1 :(得分:0)

只需使用“2 * N任意字符”前瞻:

s/(?=(?:.{2})+$)/:/g