Archive for category Регулярні вирази
Регулярні вирази – практикум використання
Posted by Цінитель in Регулярні вирази on 28.09.2009
Якщо у вас проблема і вирішили справитись з нею за допомогою регулярних виразів, то у вас уже дві проблеми
Шкода, але я не знаю, хто автор цієї чудової і, головне, правдивої фрази. В будь-якому випадку, сподіваюсь, що приведена нижче інформація хоча б трохи полегшить подорож читача у світі незбагненних regular expressions
Квантифікатори
| Позначення | Число повторів |
|---|---|
| * | Ноль або більше |
| + | Одно або більше |
| ? | Ноль або один раз |
| {n} | Точно n відповідностей |
| {n,} | n або більше відповідностей |
| {n,m} | Мінімум n та максимум m відповідностей |
Набори символів
| Метасимвол | Замінює | Значення |
|---|---|---|
| \d | [0-9] | Цифра |
| \D | [^0-9] | Не цифра |
| \w | [A-Za-zА-Яа-я0-9_] | Символи, які “створюють слово” (букви, цифри и символ підкреслення) |
| \W | [^A-Za-zА-Яа-я0-9_] | Символи, які не “створюють слово” |
Позиція в рядку
| Представление | Позиция |
|---|---|
| ^ | Початок рядку |
| $ | Кінець рядку |
| \b | Закінчення слова |
| \B | “Не закінчення” слова |
\ екрануючий символ
^ показує початок даних; в середині символьного класу являє собою заберечення
$ показує кінець даних; в середині символьного класу являє собою крапку
. відповідає будь-якому символу
[ початок опису символьного класу
] кінець опису символьного класу
| умовний вибір
( початок підмаски
) кінець підмаски
Щоб знайти певний набір символів використовується синтакиси (abc). Щоб знайти вираз, який НЕ МІСТИТЬ цей набір символів, треба писати (?!abc). Це називається negative lookahed. Але чомусь не працює для кількох груп наборів символів.
Для відпрацювання регулярних виразів можна використовувати програмку Regex Coach
Основна інфа:
http://ru2.php.net/manual/ru/regexp.reference.php
http://phpclub.ru/detail/article/regexp_1
Тепер можна детальніше зупинитись у використанні regular expressions в PHP, JS та файлах .htaccess Read the rest of this entry »