我希望将##
替换为<<
和>>
进行替换。例如abc##123##qwe##asd##
到abc<<123>>qwe<<asd>>
。当然,我可以逐个读取符号,检查它们,如果它是偶数时间,则替换为<<
;如果是奇数时间,则替换为>>
。但是在Python中有标准函数的强大集合,所以我想知道我是否可以使用它们来减少我的代码。
答案 0 :(得分:1)
您可以使用以下语句仅更改##
对,并保留不匹配的##
d = "abc##123##qwe##asd"
re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d)
# 'abc<<123>>qwe##asd'
或者你可以这样做
re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d).replace("##","<<")
# 'abc<<123>>qwe<<asd'