Выявление неправильно используемых точек (.) в тексте с использованием python 3

Я пытаюсь определить неправильное использование точек (.) В тексте с помощью re.finditer. Точка всегда должна заканчиваться пробелом - это условие. Использование пробела перед точкой является неправильным.

в приведенном ниже коде я могу найти точки между предложениями. Однако, если он стоит в конце всего текста, он не выполняется. Кто-нибудь может помочь исправить это? My try

Думаю, здесь должна быть куча информации. Этого может быть недостаточно. а как насчет no.need to refer ?? это неправильный период? а что с 98.56.78 те не так? первый не прав? и т.д .. а пока попробуй, можешь попробовать \B\. ??

Onyambu 13.09.2018 19:26
0
1
71
1

Ответы 1

Вместо того, чтобы исследовать строку вокруг всех периодов, вы могли бы вместо этого написать регулярное выражение, которое находит для вас «недопустимые» периоды:

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

Другие вопросы по теме