这个正则表达式是什么(re.compile)以及我们什么时候可以在 python 中使用模式命名



我找到了以下正则表达式,我不明白这是什么意思?我需要帮助来理解这一点。特别是所有内容中间的"p":

RE_CALLEE = re.compile(r'(?P<callee>+[0-9]+)')

下面是一个代码示例:

2015-11-01T00:00:17.735616+00:00 x1ee energysrvpol[15690]: INFO consume_processor: user:<<"dbdiayhg">> callee_num:<<"+1288888888">> sid:<<"A1003unjhjhvhgfgvhbghgujhj02">> credits:-0.5000000000000001 result:ok provider:ooioutisrt.ym.ms

  • (?P<callee>)部分是命名的捕获组
  • +[0-9]+将匹配加号字符,后跟一个或多个数字

以下是按名称获取组的方法:

>>> import re
>>> RE_CALLEE = re.compile(r'(?P<callee>+[0-9]+)')
>>>
>>> RE_CALLEE.search("test +10").group("callee")
'+10'

至于你的例子,这个模式怎么样:

>>> RE_CALLEE = re.compile(r'callee_num:<<"(+d+)"')
>>> RE_CALLEE.findall(s)
['+1288888888']

最新更新