|
04.11.2017, 21:16
|
Аспирант
|
|
Регистрация: 11.05.2015
Сообщений: 74
|
|
регулярное выражения для получения всех предложения из текста.
Добрый день.
Подскажите вариант для получения всех предложение из текста.
Сейчас есть вот такое:
"([^.!?]+)"
Но если в предложение будет дата (20.10.17) или десятичное число (0.4), то предложение обрежется. Или многоточие.
Примеры предложений:
Код:
|
Предложение 1, которое уже работает.
Предложение 2.1, которое не будет работать.
Предложение 3, которое тоже не будет работать из-за многоточий...
Предложение 4, которое не будет работать из-за даты 20.10.17! |
Может кто то сталкивался с такой задачей, спасибо.
|
|
04.11.2017, 21:47
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
ivnjavascript,
<script>
"use strict"
var s = `Предложение 1, которое уже работает.
Предложение 2.1, которое не будет работать.
Предложение 3, которое тоже не будет работать из-за многоточий...
Предложение 4, которое не будет работать из-за даты 20.10.17!`;
var reg = /([^.!?]|(\.\d))+(?:[.!?]+)/gim;
document.write(JSON.stringify(s.match(reg)))
</script>
|
|
04.11.2017, 22:26
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
предложение заканчивается ".{1,3} или !{1,3} или ?{1,3} и пробел\s" в чем проблема разбить текст на строки
|
|
04.11.2017, 23:04
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Lion777,
|
|
04.11.2017, 23:50
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
Ну проблема в чем, предложение заканчивается на точку или три, на восклицательный знак или три, на знак вопроса или три и после всего этого идет пробел, парсим и заганяем в массив.
|
|
05.11.2017, 00:07
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Lion777,
можно пример???
|
|
05.11.2017, 15:38
|
Кандидат Javascript-наук
|
|
Регистрация: 04.11.2017
Сообщений: 117
|
|
да тут с пробелами не канает, по данной регулярке есть еще вопрос, если предложение имеет сокращения "т.д и т.п"?
типа
Предложение 1, которое уже работает и т.д. и т.п. Предложение 2.1, которое не будет работать.
|
|
07.11.2017, 18:52
|
Аспирант
|
|
Регистрация: 11.05.2015
Сообщений: 74
|
|
Сообщение от Lion777
|
да тут с пробелами не канает, по данной регулярке есть еще вопрос, если предложение имеет сокращения "т.д и т.п"?
типа
Предложение 1, которое уже работает и т.д. и т.п. Предложение 2.1, которое не будет работать.
|
сокращение т.д и т.п или 2.1 или 20.11.17
|
|
07.11.2017, 20:02
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
|
|
|
|