Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python解析模块搜索_Python_Regex_Parsing - Fatal编程技术网

Python解析模块搜索

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) 此外,

使用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)
但它不起作用。 有什么想法吗?

试试看

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