为这个简单的问题道歉,但我正在努力解决这个问题:
str = 'EURGBP'
print (re.sub(r'\EUR(GBP)', r'\1', str))
返回
GBP
但
print (re.sub(r'\(EUR)(GBP)', r'\2,\1', str))
给了我error: unbalanced parenthesis at position 5
我只是想捕捉括号中的两个元素,然后按照相反的顺序将它们打印出来:
GBPEUR
有人可以告诉我我做错了吗?
答案 0 :(得分:1)
由于\(
意味着您在字符串中搜索(
,因此结束)
没有匹配的开头(
,逃避E
正在寻找文字E
,也只是使用r'\2\1'
,除非您希望它们也用逗号分隔:
In [1]: import re
In [2]: s = 'EURGBP'
In [3]: re.sub(r'(EUR)(GBP)', r'\2\1', s)
Out[3]: 'GBPEUR'