我想匹配两个正则表达式A和B,其中A和B显示为"AB".我想在A和B之间插入一个空格,使它变成'A B'.
例如,如果A = [0-9]且B =!+,我想做类似以下的事情.
match = re.sub('[0-9]!+', '[0-9] !+', input_string)
Run Code Online (Sandbox Code Playgroud)
但是,这显然不起作用,因为这将用字符串'[0-9]!+'替换任何匹配.
如何在正则表达式中执行此操作(最好在一行中)?或者这需要几个繁琐的步骤?
使用组!
match = re.sub('([0-9])(!+)', r'\1 \2', input_string);
Run Code Online (Sandbox Code Playgroud)
\1并\2指出第一个和第二个带括号的片段.前缀r用于保持\字符完整.