diff --git a/etpgrf/quotes.py b/etpgrf/quotes.py index 01cee3e..1ff3b93 100644 --- a/etpgrf/quotes.py +++ b/etpgrf/quotes.py @@ -49,9 +49,9 @@ class QuotesProcessor: # Паттерн для закрывающей кавычки: " после буквы/цифры, # за которой следует пробел, пунктуация или конец строки. - # (?<=\p{L}|[?!…]) - "просмотр назад" на букву или ?!… + # (?<=\p{L}|[?!…\.]) - "просмотр назад" на букву или ?!… и точку. # (?=\s|[.,;:!?\)\"»”’]|\Z) - "просмотр вперед" на пробел, пунктуацию или конец строки (\Z). - self._closing_quote_pattern = regex.compile(r'(?<=\p{L}|[?!…])\"(?=\s|[\.,;:!?\)\]»”’\"\']|\Z)') + self._closing_quote_pattern = regex.compile(r'(?<=\p{L}|[?!…\.])\"(?=\s|[\.,;:!?\)\]»”’\"\']|\Z)') # self._closing_quote_pattern = regex.compile(r'(?<=\p{L}|\p{N})\"(?=\s|[\.,;:!?\)\"»”’]|\Z)') # self._closing_quote_pattern = regex.compile(r'(?<=\p{L}|[?!…])\"(?=\s|[\p{Po}\p{Pf}"\']|\Z)') diff --git a/tests/test_quotes.py b/tests/test_quotes.py index 01f616b..a29a843 100644 --- a/tests/test_quotes.py +++ b/tests/test_quotes.py @@ -34,8 +34,8 @@ QUOTES_TEST_CASES = [ ('ru', 'Текст "в кавычках".', 'Текст «в кавычках».'), ('en', '"Word".', '“Word”.'), # Точка ВНУТРИ кавычек - неправильная пунктуация, закрывающая кавычка не обрабатывается (согласно README) - ('ru', 'Текст "в кавычках."', 'Текст «в кавычках."'), - ('en', '"Word."', '“Word."'), + ('ru', 'Текст "в кавычках."', 'Текст «в кавычках.»'), + ('en', '"Word."', '“Word.”'), # Знаки ?, !, … ВНУТРИ кавычек - правильная пунктуация, корректно обрабатывается ('ru', '"Слово?"', '«Слово?»'), ('en', '"Word?"', '“Word?”'),