![]() |
|
Модераторы: ginnie |
![]()
|
|
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
Здравствуйте.
Задача: - Вытащить все слова из текста, начинающиеся с большой буквы (фильтр: минус слова, идущие после точки и пробела, т.е. новые предложения в тексте). это так сказать самое исходное задание. я себе упростил до (но кто знает, пусть подскажет , как сделать одной регуляркой исходное) "вытащить все слова из текста, кроме первого слова предложения". но все не уверен, что написал регулярку правильно
справа от (,+?) мне все понятно и оно работает. можно еще каких нить знаков припинания туда добавить как границу слова. а вот слева от (.+?) искомого. тут всегда испытаю сложности здесь нужно сказать скрипту, чтобы он проверял, чтобы слово было не первым в предложении. подскжите все ли правильно ? и может быть можно как то еще изловчиться и учесть условие, чтобы находились слова , начинающиеся только с большой буквы? спасибо. Это сообщение отредактировал(а) burakov - 8.12.2012, 20:07 |
|||
|
||||
| Pfailed |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 6 Всего: 39 |
/(?<!^)(?<!\.\s)(\b\p{Lu}.*?\b)/
|
|||
|
||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
спасибо.
вот бы еще код прокомментировали . очень хочется понять как это работает. ибо я конечно решил задачу..по-своему не так ловко и тонко. хочется научиться. если будет время и желание. еще раз спасибо. |
|||
|
||||
| Pfailed |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: 6 Всего: 39 |
Ищет слово начинающееся с заглавной буквы. \b - граница слова, \p{Lu} - любая заглавная буква (http://www.regular-expressions.info/unicode.html)
Найдя слово смотрим чтобы перед ним небыло точки и пробела. Также смотрим чтобы не было начала строки. Так называемая ретроспективная проверка. |
||||
|
|||||
| burakov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 28.7.2006 Репутация: нет Всего: нет |
спасибо.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |