【发布时间】:2018-10-17 20:08:04
【问题描述】:
使用 python 解析模块。 我在一个字符串中搜索。 搜索“AB 编号”,然后搜索多个空格,然后搜索格式为 1-123456789 的数字。
所以“AB 编号 1-727288292920”
如果我使用它,它会找到它,但它会分成多个匹配项:-
search('AB Number{:s}{:d}{:D}{:d}',plain_text_body)
如果我使用它,它只匹配第一个数字,我无法弄清楚它为什么不匹配
search('AB Number{:s}{\d+\D\d+}',plain_text_body)
另外,我认为可以在被捕获的模式之外使用正则表达式,但我也无法做到这一点——例如,捕获多个空格应该是:-
search('AB Number\s+{\d+\D\d+}',plain_text_body)
但它不起作用。 有什么想法吗?
【问题讨论】:
-
import re,然后是re.findall(r'\bAB Number\s*\d-\d{12}(?!\d)', s)? -
所以你不推荐parse模块?
-
如果您需要提取符合您要求的文本,您可以依赖
re。