我正在使用以下re来搜索一个字符串,该字符串后面跟着字符并且它正在工作。
$re = ""[0-9][a-zA-Z]"";
但是,我需要使用搜索数据作为替代参考,并将其与空格分开。有没有办法在替换中使用搜索字符串。
例如:如何将搜索到的字符串与空格分开?应该使用什么替代品?
我只需要知道如何使用搜索到的字符串作为替代参考。例如:“8A”应为“8 A”,“0A”应为“0 A”
答案 0 :(得分:5)
>>> import re
>>> pattern = re.compile(r"([0-9])([a-zA-Z])")
>>> s = "Inches,85A,80A"
>>> pattern.sub(r"\1 \2", s)
'Inches,85 A,80 A'
这里我们捕获输入字符串的两个部分 - 一个数字和一个字母。然后,使用re.sub()
执行替换,按编号引用捕获的组:\1
和\2
。
答案 1 :(得分:1)
您可以使用lookaround断言。
>>> import re
>>> s = "Inches,85A,80A"
>>> re.sub(r'(?<=\d)(?=[a-zA-Z])', r' ', s)
'Inches,85 A,80 A'
上述正则表达式匹配数字和字母之间存在的边界。用空格替换匹配的边界将为您提供所需的输出。