在正则表达式匹配之前和之后插入空格

时间:2014-12-10 11:58:10

标签: python regex python-2.7

我对Python语言和Python中的正则表达式相当陌生,所以我希望有人能够就解决这个问题的最佳方法给我一些建议。

我正在遍历一个字符串列表,我正在尝试在遇到某个正则表达式时“拆分”字符串(以补偿用户输入错误)。

例如,寻找C / S模式,

C/S100 

应该成为

 C/S 100

非常感谢任何关于如何做到这一点的建议。

2 个答案:

答案 0 :(得分:0)

使用re.sub功能,如下所示。

>>> s = "C/S100"
>>> re.sub(r'(C/S)', r' \1 ', s)
' C/S 100'

<强>更新

>>> s = "C/S100"
>>> var = "C/S"
>>> re.sub('('+var+')', r' \1 ', s)
' C/S 100'

答案 1 :(得分:0)

s = "C/S100"
print re.sub(r'(?=(?:C/S))|(?<=(?:C/S))', r' ', s)

输出:C/S 100

你根本不需要捕捉。只需找到匹配后和匹配后的点。