Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.11.2017, 21:16
Аспирант
Отправить личное сообщение для ivnjavascript Посмотреть профиль Найти все сообщения от ivnjavascript
 
Регистрация: 11.05.2015
Сообщений: 74

регулярное выражения для получения всех предложения из текста.
Добрый день.
Подскажите вариант для получения всех предложение из текста.

Сейчас есть вот такое:
"([^.!?]+)"


Но если в предложение будет дата (20.10.17) или десятичное число (0.4), то предложение обрежется. Или многоточие.

Примеры предложений:

Код:
Предложение 1, которое уже работает.
Предложение 2.1, которое не будет работать.
Предложение 3, которое тоже не будет работать из-за многоточий...
Предложение 4, которое не будет работать из-за даты 20.10.17!

Может кто то сталкивался с такой задачей, спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 04.11.2017, 21:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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>
Ответить с цитированием
  #3 (permalink)  
Старый 04.11.2017, 22:26
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

предложение заканчивается ".{1,3} или !{1,3} или ?{1,3} и пробел\s" в чем проблема разбить текст на строки
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2017, 23:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Lion777,
Ответить с цитированием
  #5 (permalink)  
Старый 04.11.2017, 23:50
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

Ну проблема в чем, предложение заканчивается на точку или три, на восклицательный знак или три, на знак вопроса или три и после всего этого идет пробел, парсим и заганяем в массив.
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2017, 00:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Lion777,
можно пример???
Ответить с цитированием
  #7 (permalink)  
Старый 05.11.2017, 15:38
Кандидат Javascript-наук
Отправить личное сообщение для Lion777 Посмотреть профиль Найти все сообщения от Lion777
 
Регистрация: 04.11.2017
Сообщений: 117

да тут с пробелами не канает, по данной регулярке есть еще вопрос, если предложение имеет сокращения "т.д и т.п"?
типа
Предложение 1, которое уже работает и т.д. и т.п. Предложение 2.1, которое не будет работать.
Ответить с цитированием
  #8 (permalink)  
Старый 07.11.2017, 18:52
Аспирант
Отправить личное сообщение для ivnjavascript Посмотреть профиль Найти все сообщения от ivnjavascript
 
Регистрация: 11.05.2015
Сообщений: 74

Сообщение от Lion777 Посмотреть сообщение
да тут с пробелами не канает, по данной регулярке есть еще вопрос, если предложение имеет сокращения "т.д и т.п"?
типа
Предложение 1, которое уже работает и т.д. и т.п. Предложение 2.1, которое не будет работать.
сокращение т.д и т.п или 2.1 или 20.11.17
Ответить с цитированием
  #9 (permalink)  
Старый 07.11.2017, 20:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мини библиотека для контроля ввода текста в TEXTAREA / INPUT devote Ваши сайты и скрипты 5 21.03.2014 14:13
Если размера div не хватает для текста Гробовщик (X)HTML/CSS 7 19.07.2013 00:44
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
Составить регулярное выражение для гугла alerzo Events/DOM/Window 1 18.02.2013 16:55
выдача всех результатов. регулярные выражения andreevich Общие вопросы Javascript 4 12.05.2010 16:52