使用python 3从文本中识别错误使用的句点(。)

问题描述 投票:0回答:1

我试图使用re.finditer识别文本中句点(。)的错误使用。一个时期应该始终以空间结束是条件。在句点使用前使用空格不正确。

在下面的代码中,我能够找到句子之间的句点。但是,如果它出现在所有文本的末尾,则会失败。有人可以帮忙解决这个问题吗?

python-3.x
1个回答
0
投票

您可以改为编写一个为您找到“非法”期间的正则表达式,而不是检查所有句点周围的字符串:

pat = "(?<=\s)\.|\.(?=[^\s])"  # A period with whitespace in front, 
                               # or a period with nonwhitespace after
any(re.finditer(pat, sample))

any(re.finditer(pat, "aab."))
# False
any(re.finditer(pat, "aab"))
# False
any(re.finditer(pat, "aab ."))
# True
any(re.finditer(pat, "aab.a"))
# True
© www.soinside.com 2019 - 2024. All rights reserved.