Python正则表达式插入

PKl*_*mpp 5 python regex

我有一个String

s = "x01777"
Run Code Online (Sandbox Code Playgroud)

现在我想-在这个位置插入一个s:

s = "x01-777"
Run Code Online (Sandbox Code Playgroud)

我试图这样做,re.sub()但我无法弄清楚如何插入-而不删除我的正则表达式(我需要这个复杂的正则表达式结构,因为我想要使用的字符串更长).

实际上,它看起来像这样:

re.sub('\w\d\d\d\d\d', 'here comes my replacement', s)
Run Code Online (Sandbox Code Playgroud)

我如何设置我的替代品?

Avi*_*Raj 10

将前三个字符捕获到一个组中,然后将接下来的三个字符捕获到另一个组中.在替换部分中,只需-在第一个捕获的组之后添加,然后添加第二个捕获的组.

>>> import re
>>> s = "x01777"
>>> m = re.sub(r'(\w\d\d)(\d\d\d)', r'\1-\2', s)
>>> m
'x01-777'
>>> 
Run Code Online (Sandbox Code Playgroud)