PHP

Поиск слов

Задача
Необходимо выделить все слова в строке.

Решение
Ключ к решению этой задачи в том, чтобы аккуратно определить, что именно мы понимаем под словом. Сформулировав это определение, используйте специальные символьные типы для создания регулярного выражения:

/\S+/ // все, что не является пробельным символом /[A-Z'-]+/i // все буквы в нижнем и верхнем регистре, апострофы и дефисы.


Обсуждение
Простой вопрос «что же такое слово?» неожиданно оказывается довольно сложным. Хотя регулярные выражения, совместимые с Perl, имеют встроенный символьный тип для слова, определяемый символами \w, важно точно понимать, как определяет слово PHP. В противном
случае полученный результат может оказаться для вас неожиданным.

Обычно, поскольку это непосредственно следует из определения слова в Perl, символ \w подразумевает все буквы, цифры и символ подчеркивания; это значит, что a_z словом является, а адрес электронной почты, php@example.com, – нет.

В этом рецепте мы рассматриваем только английские слова, но в других языках используется отличный алфавит. Поскольку регулярные выражения диалекта Perl учитывают текущие указания национальной настройки, то изменение в национальной конфигурации может сменить определение буквы, изменяя, таким образом, и определение
слова.

Для борьбы с этим можно явным образом перечислить символы, принадлежащие словам, внутри символьного класса. Нестандартные символы можно добавить при помощи кодировки \ddd, где ddd представляет восьмеричный код символа.
Теги:
регулярные выражения
Добавлено: 22 Июля 2018 15:43:54 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...