为一个表达式实现多个正则表达式匹配?

时间:2018-07-13 13:17:33

标签: python regex

我有2个正则表达式:

REG1 = re.compile('(\d+\s*ILCS\s*\d+?/\d+\s*-\s*?\d+\s*\(\w\))|(\d+\s*ILCS\s*\d+?/\d+\s*-\s*?\d+)|(\d+\s*ILCS\s*\d+?/\d+\s*\(\w\))|(\d+\s*ILCS\s*\d+?/\d+)')

REG2 = re.compile('(\d+\s*ILCS\s*\d+?/\d+\s*(\(\w\))?(-\s*?\d+\s*(\(\w\))?)?)')

它搜索示例文本:

TEXT = ['735 ILCS 5/2-1401 Citizens for Legal Responsibility 735 ILCS 5/2-1401 (f) comply with her duty to  735 ILCS 5/207 judgments rendered in case no 91-D- 5122 735 ILCS 5/207(h)' ]

当我使用表达式 print(REG1.findall(str(TEXT)))

它找到以下内容:

[('', '735 ILCS 5/2-1401', '', ''), ('735 ILCS 5/2-1401 (f)', '', '', ''), ('', '', '', '735 ILCS 5/207'), ('', '', '735 ILCS 5/207(h)', '')]

当我使用表达式 print(REG2.findall(str(TEXT)))

它找到以下内容:

[('735 ILCS 5/2-1401 ', '', '-1401 ', ''), ('735 ILCS 5/2-1401 (f)', '', '-1401 (f)', '(f)'), ('735 ILCS 5/207 ', '', '', ''), ('735 ILCS 5/207(h)', '(h)', '', '')]

我看过Regular expression operationsHow to use regex with optional characters in python?,无论我在哪里使用?,它都不会只用一个表达式提取4条法规,这是否可能? regex可以仅提取4条法规,而不能提取额外的'', '', '')''-1401 '吗?

0 个答案:

没有答案