Python 正则表达式模式,以匹配特定的起始和结束锚定,并在两者之间使用变量字

Python 正则表达式模式,以匹配特定的起始和结束锚定,并在两者之间使用变量字,python,regex,Python,Regex,我正在尝试规范化非结构化文本文件。我似乎无法找到将特定的开始和结束边界与任何程度的成功相匹配的表达式 示例文本: "Section 13 - Governmental Oversight and Operational Accountability." "Section 13 : Governmental Over-sight and Accountability." "Section 13. Governmental Oversights, Controls and Operational A

我正在尝试规范化非结构化文本文件。我似乎无法找到将特定的开始和结束边界与任何程度的成功相匹配的表达式

示例文本:

"Section 13 - Governmental Oversight and Operational Accountability."
"Section 13 : Governmental Over-sight and Accountability."
"Section 13. Governmental Oversights, Controls and Operational Accountability."
"Section 13.\nGovernmental Oversight\nand Operational Accountability."
考虑到上述示例,我总是希望在开头找到“
第13节([\.:-{0,2}])(空格|新行)政府”
,在结尾找到“问责制”,但两者之间存在很大程度的差异。我必须重复这个过程大约30节。我通过逐行迭代文件并向模式匹配器发送5行字符串连接来解析这些文档

我的第一次尝试是试着去想每一段单词的每一个排列,但这证明了它本身是极其无效的

我的最新尝试根本不起作用:

s13 = lambda t : re.match(r'^(Section(\s{0,})(\n{0,})(\s{0,})13(\.|:?)(\s{0,})(Governmental(\s{0,}.*Accountability)', t, re.I|re.S)

非常感谢您的建议。

对于您的范围,可以使用
+
运算符。这似乎对您的示例文本起到了作用

Section[\s\\n]+13[ -:\\n]+(Governmental.*?Accountability\.)
请尝试以下站点测试您的正则表达式