我有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 operations和How to use regex with optional characters in python?,无论我在哪里使用?
,它都不会只用一个表达式提取4条法规,这是否可能? regex可以仅提取4条法规,而不能提取额外的'', '', '')'
或'-1401 '
吗?