区分句子和章节文本的正则表达式

2024-04-25 04:38:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一篇有很多句子的课文。我有一个正则表达式,可以提取以句点、问号或感叹号结尾的句子。一个句子的结尾必须跟下一个句子的开头(空格/制表符/换行符和大写字母或数字)。存储在regi调用中的数据。在

basic_pat = re.compile(r"[(']?\w.+[)']?[?.!](?=\s+[A-Z\d])")
result = basic_pat.findall(data)

如果不考虑缩写的情况,这个正则表达式似乎是有效的。 在课文中,我也可能会有一些章节的课文不以句点结尾。例如:

This is the first chapter
Here is the first sentence. Here is the second sentence.Here ids the third sent. Here is the fourth sent...

如果一个regex的句子能读到的话,那么我的问题也只能读到。这些章节是一行没有句号的松散文本。一般的句子可以有几行。也就是说,句子中也可以有一行没有句点的文本。有没有可能用正则表达式来区分这两种情况(章节和句子)?在


Tags: the文本herebasicis结尾情况sentence
1条回答
网友
1楼 · 发布于 2024-04-25 04:38:38

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. Jamie Zawinski

实际上,您应该使用两个正则表达式(现在您将遇到四个问题)。在

首先,通读并将文本分解成交替的章节标题,而不是章节标题。然后检查每一章的标题,句子,段落,以及你所拥有的。在

您将如何分解以下内容:

Visiting Leipzig, Chapter One: Thomaskirchhof St.

The Bach Museum is on Thomaskirchhof opposite St. Thomas's Church. van Beethoven doesn't have a museum anywhere in Leipzig.

处理自然语言极其困难。上帝在摧毁巴别塔时做了一件彻底的工作。在

相关问题 更多 >