Python 如何确保捕获组超过5个字符?

Python 如何确保捕获组超过5个字符?,python,regex,Python,Regex,我正在使用以下代码: (?i)(?我猜可能 (?i)(?<!see )(?<!\d)(?<!")(?<!“)ITEM.*?1A.*?\n*(?<!")(?<!“)RISK.*?FACTORS(?<!")\n*([^\r\n]{5,}?)\s*\n*ITEM.*?1B 输出 ['除本表10-K中的其他信息外,以下 在评估我们和我们的客户时,应仔细考虑风险因素 因为这些因素目前对业务有重大影响 或“] 如果您希望简化/修改/探索表达式,已在的右上面板中进

我正在使用以下代码:


(?i)(?我猜可能

(?i)(?<!see )(?<!\d)(?<!")(?<!“)ITEM.*?1A.*?\n*(?<!")(?<!“)RISK.*?FACTORS(?<!")\n*([^\r\n]{5,}?)\s*\n*ITEM.*?1B
输出 ['除本表10-K中的其他信息外,以下 在评估我们和我们的客户时,应仔细考虑风险因素 因为这些因素目前对业务有重大影响 或“]


如果您希望简化/修改/探索表达式,已在的右上面板中进行了说明。如果您愿意,还可以在中查看它如何与一些示例输入匹配



计数是在这样的数据附近进行的。
如果需要,可以将
[^\S\r\n]
替换为
\h
显著缩短正则表达式。
组1包含修剪后的数据

(?sm)^[^\S\r\n]*项目[^\S\r\n]+1A[^\S\r\n]*.[^\S\r\n]+风险[^\S\r\n]+因素[^\S\r\n]*\r?\n\S*(\S:(?!^[^\S\r\n]*项目)。{3,}\S*.[^\S\r\r\n]*项目[^\S\r\r\n]+1B^\r\S\r\r\n]*>

扩大

 (?sm)
 ^ [^\S\r\n]* ITEM [^\S\r\n]+ 1A [^\S\r\n]* \. 
 [^\S\r\n]+ RISK [^\S\r\n]+ FACTORS [^\S\r\n]* \r? \n 

 \s* 
 (                             # (1 start)
      \S 
      (?:
           (?! ^ [^\S\r\n]* ITEM )
           . 
      ){3,}?
      \S 
 )                             # (1 end)
 \s* 

 ^ [^\S\r\n]* ITEM [^\S\r\n]+ 1B [^\S\r\n]* \.

如果需要捕获超过5个字符,请尝试使用
{5,}
123
(?i)(?<!see )(?<!\d)(?<!")(?<!“)ITEM.*?1A.*?\n*(?<!")(?<!“)RISK.*?FACTORS(?<!")\n*([^\r\n]{5,}?)\s*\n*ITEM.*?1B
import re

regex = r'(?i)(?<!see )(?<!\d)(?<!")(?<!“)ITEM.*?1A.*?\n*(?<!")(?<!“)RISK.*?FACTORS(?<!")\n*([^\r\n]{5,}?)\s*\n*ITEM.*?1B'
string = '''

ITEM 1A.    RISK FACTORS

123

ITEM 1B.

ITEM 1A.    RISK FACTORS

In addition to other information in this Form 10-K, the following risk factors should be carefully considered in evaluating us and our business because these factors currently have a significant impact or 

ITEM 1B.

'''

print(re.findall(regex, string, re.DOTALL))
 (?sm)
 ^ [^\S\r\n]* ITEM [^\S\r\n]+ 1A [^\S\r\n]* \. 
 [^\S\r\n]+ RISK [^\S\r\n]+ FACTORS [^\S\r\n]* \r? \n 

 \s* 
 (                             # (1 start)
      \S 
      (?:
           (?! ^ [^\S\r\n]* ITEM )
           . 
      ){3,}?
      \S 
 )                             # (1 end)
 \s* 

 ^ [^\S\r\n]* ITEM [^\S\r\n]+ 1B [^\S\r\n]* \.