Python解析模块搜索
使用python解析模块。 我正在搜索一个字符串。 搜索“AB编号”,然后搜索多个空格,然后搜索格式为1-123456789的编号 所以“AB编号1-7272882920” 如果我使用它,它会找到它,但会在多个匹配项上拆分:-Python解析模块搜索,python,regex,parsing,Python,Regex,Parsing,使用python解析模块。 我正在搜索一个字符串。 搜索“AB编号”,然后搜索多个空格,然后搜索格式为1-123456789的编号 所以“AB编号1-7272882920” 如果我使用它,它会找到它,但会在多个匹配项上拆分:- 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)
如果我用这个,它只匹配第一个数字,我不知道为什么它不匹配
search('AB Number{:s}{\d+\D\d+}',plain_text_body)
此外,我认为可以在捕获的模式之外使用正则表达式,但我也无法做到这一点。例如,捕获多个空格应该是:-
search('AB Number\s+{\d+\D\d+}',plain_text_body)
但它不起作用。
有什么想法吗?试试看
import re
pattern = r'^(AB Number).+(\d\-\d{1,})$'
text = 'AB Number sdf sfd 1-727288292920'
for m in re.match(pattern, text).groups():
print(repr(m))
输出
...
'AB Number'
'1-727288292920'
import re
,然后re.findall(r'\bAB Number\s*\d-\d{12}(?!\d),s)
?因此您不建议使用解析模块?如果您需要提取符合要求的文本,您可以使用re
。