正则匹配重复字符串

import re
print(re.match('.*bbb[:=^^](.*?)[,;&__#].*', 'aaa=123__bbb^^234__', re.M | re.I).group(1))

如上面 这样我得出来的是 ^234 但我想得到234
请问这个该如何实现 在要匹配aaa的时候也能出现123

阅读 1.9k
2 个回答
import re
print(re.match('.*bbb^^(.*?)[,;&__#].*', 'aaa=123__bbb^^234__', re.M | re.I).group(1))

你意思是要用[:=^]作为赋值号,[,;&_#]作为键值对之间的分隔符是吧?
这样子吧:

def getv(data, key):
    return re.match('.*%s[:=^]+(.*?)[,;&__#].*'%key, data).group(1)

然后getv('aaa=123__bbb^^234__', 'bbb')这样去调用就行了

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