Регулярка на JS для поиска предложений, содержащих слово
Здравствуйте.
Подскажите регулярку для поиска предложений в русском тексте по определенному слову. Считаю что предложение это часть текста начинающееся с большой буквы и заканчивающееся точкой. Варианты сокращений типа "и т.д." или вообще сокращения пока что не учитываю. Впрочем, возможно у кого-то в копилке есть вариант и с обработкой сокращений. Прошу помочь. |
Цитата:
|
плохо это - 3 действия получается. Так-то у меня и работает (как предложил ksa). Хотелось бы регуляркой.
|
есть текст. Получаю массив предложений через текст.split('.') потом в цикле пробегаюсь по каждому из предложений
function findSentence(){ var selectedSentence; var sentenceIndex = -1; for(var i=0;i<sentences.length;i++){ var sentence = sentences[i]; var wordExists = sentence.indexOf(currentWord) > 0; if(wordExists){ selectedSentence = sentence; sentenceIndex = i; break; } } return {sentenceIndex: sentenceIndex, sentence:selectedSentence}; } |
dev.div0, Здравствуйте,
так подойдет? var text="Предложение номер раз. Второе предложение. Еще какой-то текст номер 3."; var res=text.match(/[А-Я][^\.]+номер[^\.]+\./g); alert("всего: "+res.length+"\n"+res); |
Manyasha,
Букву Ё забыла :) |
А вообще через lodash все это решается в одну строчку, а не как у ТС в 14 :(
|
Спасибо за ответы.
([А-Я]{1}[^.]+[.]{1}) Вот эта регулярка выделяет все предложения. Ошибается при сокращениях, троеточиях, ссылках в html коде (<a href="http://mysite.com">) https://regex101.com/r/iR0qL4/2 - тестирование Цитата:
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 10:22. |