Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Поиск букв в регулярном выражении


Автор: Alix 21.6.2008, 09:42
Нашел на одном форуме интересную http://forum.codenet.ru/showthread.php?p=238934. Суть там в том, что желали использовать 
Код
preg_match_all("/\w+/u", 'one два three', $matches);
 для поиска даже русских букв и оно не сработало. Однако было найдено альтернативное решение, в котором слово "два" тоже попало в результат: 
Код
preg_match_all("/\pL+/", 'one два three', $matches);
Проблема в том, что никто не знает что такое \pL. Я тоже поискал и в google, и в mastering regular expressions - пусто.
В той теме все свелось к использованию /[a-zа-я0-9_-]/ui, но мне такой вариант не подходит, т.к. хочется учесть и прочие - нерусские - буквы.
Может кто-нибудь слышал про \pL ?

Автор: Feldmarschall 21.6.2008, 10:25
Смотреть надо было в документации.

А для поиска русских букв надо использовать не шаманство в паттернах, а устанавливать правильную локаль.

Автор: Alix 21.6.2008, 11:05
Судя по Вашей репутации и прочим темам, Вы больны болезнью флудерастия. Отвечаете не по существу и ставите себя априори выше задавшего вопрос. Подробно отвечаю:
1. В документации пхп смотрел. Не упоминается. В комментах снизу упоминается, но без объяснений.
2. Не надо меня учить, я еще поболее Вашего знаю. Документацию всегда читаю на английском.

В итоге ответ был найден на http://www.pcre.org/pcre.txt Изначально не находился, т.к. искал по \pL, теперь искал по \p. 

Закройте, пожалуйста, тему во избежание дальнейшего флуда.

Автор: Guedda 21.6.2008, 12:16

M
Guedda
Модератор: Остыньте. Сообщения не по-существу удалил.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)