python正则括号内内容替换

新手上路,请多包涵

字符串原格式:123(123)123
需求:1O2O3O1T2T3T1O2O3O
说明:不在括号内的字符后加O,在括号内的字符后加T

阅读 3k
1 个回答
# -*-coding:utf-8-*-
import re
st='123(123)123'
def _rep(matched):
    if matched.group(1) is None:
        return re.sub("(\S)",r"\1O",matched.group())
    else:
        return re.sub("(\S)",r"\1T",matched.group(1))

result=re.sub("(([^()]+))|[^()]+",_rep,st)
print result

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题