Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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 我应该为regex编写什么查询来捕获指定的段落格式并跳过其余的?_Python_Regex - Fatal编程技术网

Python 我应该为regex编写什么查询来捕获指定的段落格式并跳过其余的?

Python 我应该为regex编写什么查询来捕获指定的段落格式并跳过其余的?,python,regex,Python,Regex,我试图编写一个正则表达式查询,以捕获从“诊断”到“病理学家委员会”的以下段落的形式,忽略其余段落。什么是好的正则表达式查询 (“”表示段落的开头和结尾,不包括在所需字符串中) (“这是诊断…”和“诊断结果”是问题的示例文本,并由数据中的不同内容替换) 段落格式1: " 诊断: A-这是诊断,第一: 诊断结果 B-这是诊断,第2号: 诊断结果 另一个结果 病理学家委员会: . . " 段落格式2: " 诊断: 这是诊断: 诊断结果 病理学家委员会: . . " 我使用了“诊断:(

我试图编写一个正则表达式查询,以捕获从“诊断”到“病理学家委员会”的以下段落的形式,忽略其余段落。什么是好的正则表达式查询

(“”表示段落的开头和结尾,不包括在所需字符串中)

(“这是诊断…”和“诊断结果”是问题的示例文本,并由数据中的不同内容替换)

段落格式1:

"

诊断:

A-这是诊断,第一:

  • 诊断结果
B-这是诊断,第2号:

  • 诊断结果
  • 另一个结果
病理学家委员会: . .

"

段落格式2:

"

诊断:

这是诊断:

  • 诊断结果
病理学家委员会:
. .

"


我使用了“诊断:(\s*)(\w*\s*)*)”。我知道这可以捕获诊断后的几乎所有内容,我的输出显示:)我找不到更好的解决方案来捕获段落。

您可以匹配
^diagnosis:
作为字符串的开头

然后,您可以重复匹配以下不以病理学家委员会开头的行:使用负前瞻
(?:(?!病理学家委员会:)..\r?\n)*


当您尝试执行此操作时,问题到底是什么?您能否不简单地搜索字符串
这是诊断结果
?您甚至不需要正则表达式。@mkrieger1我已经在新的edit@mkrieger1我需要从一批文档中捕获我指出的段落(从诊断到黑板),这些文档在这些段落前后都有很多内容。“这就是诊断”是一个示例文本。它将被数据中的其他内容所取代。你知道更好的方法吗?@MRF可能像这样诊断:\s*(?:\r?\n)(?:(?!病理学家委员会:).\r?\n)*
^DIAGNOSIS:\s*(?:\r?\n)(?:(?!Board of pathologists:).*\r?\n)*