Якоря
^ Начало строки +
\A Начало текста +
$ Конец строки +
\Z Конец текста +
\b Граница слова +
\B Не граница слова +
\< Начало слова
\> Конец слова
Символьные классы POSIX
[:upper:] Буквы в верхнем регистре
[:lower:] Буквы в нижнем регистре
[:alpha:] Все буквы
[:alnum:] Буквы и цифры
[:digit:] Цифры
[:xdigit:] Шестнадцатиричные цифры
[:punct:] Пунктуация
[:blank:] Пробел и табуляция
[:space:] Пустые символы
[:cntrl:] Управляющие символы
[:graph:] Печатные символы
[:print:] Печатные символы и пробелы
[:word:] Буквы, цифры и подчеркивание
Утверждения
?= Вперед смотрящее +
?! Отрицательное вперед смотрящее +
?<= Назад смотрящее +
?!= или ? Отрицательное назад смотрящее +
?> Однократное подвыражение
?() Условие [если, то]
?()| Условие [если, то, а иначе]
?# Комментарий
Кванторы
* 0 или больше +
*? 0 или больше, нежадный +
+ 1 или больше +
+? 1 или больше, нежадный +
? 0 или 1 +
?? 0 или 1, нежадный +
{3} Ровно 3 +
{3,} 3 или больше +
{3,5} 3, 4 или 5 +
{3,5}? 3, 4 или 5, нежадный +
Специальные символы
\ Экранирующий символ +
\n Новая строка +
\r Возврат каретки +
\t Табуляция +
\v Вертикальная табуляция +
\f Новая страница +
\a Звуковой сигнал
[\b] Возврат на один символ
\e Escape-символ
\N{name} Именованый символ
Подстановка строк
$n n-ая непассивная группа
$2 «xyz» в /^(abc(xyz))$/
$1 «xyz» в /^(?:abc)(xyz)$/
$` Перед найденной строкой
$' После найденной строки
$+ Последняя найденная строка
$& Найденная строка целиком
$_ Исходный текст целиком
$$ Символ «$»
Диапазоны
. Любой символ, кроме переноса строки (\n) +
(a|b) a или b +
(...) Группа +
(?:...) Пассивная группа +
[abc] Диапазон (a или b или c) +
[^abc] Не a, не b и не c +
[a-q] Буква между a и q +
[A-Q] Буква в верхнем регистре между A и Q +
[0-7] Цифра между 0 и 7 +
\n n-ая группа/подшаблон +
Примечание
Диапазоны включают
граничные значения
Модификаторы шаблонов
g Глобальный поиск
i Регистронезависимый шаблон
m Многострочный текст
s Считать текст одной строкой
x Разрешить комментарии
и пробелы в шаблоне
e Выполнение подстановки
U Нежадный шаблон
Мета-символы (экранируются)
^ [ .
$ { *
( \ +
) | ?
< >
Образцы шаблонов
([A-Za-z0-9-]+) Буквы, числа и знаки переноса
(\d{1,2}\/\d{1,2}\/\d{4}) Дата (напр., 21/3/2006)
([^\s]+(?=\.(jpg|gif|png))\.\2) Имя файла jpg, gif или png
(^[1-9]{1}$|^[1-4]{1}[0-9]{1}$|^50$) Любое число от 1 до 50 включительно
(#?([A-Fa-f0-9]){3}(([A-Fa-f0-9]){3})?) Шестнадцатиричный код цвета
((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}) От 8 до 15 символов с минимум одной цифрой, одной
заглавной и одной строчной буквой (полезно для
паролей).
(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,6}) Адрес email
(\<(/?[^\>]+)\>) HTML теги
Примечание
Эти шаблоны предназначены для ознакомительных целей и основательно
не проверялись. Используйте их с осторожностью и предварительно
тестируйте.
Примечание
Отмеченное "+" работает
в большинстве языков
программирования.
Немного о Regexp(ах)
- flashdeath
- Администратор
- Сообщения: 25
- Зарегистрирован: 08 ноя 2007, 14:22
Немного о Regexp(ах)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
