regexp примеры для дурака

(.+) вся строка до символа перевода каретки
(слово) выделит все слово
( ) выделит пробелы
(\.aspx) выделит все .aspx
\#([a-fA-F]|[0-9]){3, 6} код цвета в шестнадцатеричном формате
/[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}/igm проверка адреса электронной почты
/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/ ipv4
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])) ipv6
(^[ \s]+|[ \s]+$) начальные и конечные пробелы
@@@@@(.*?)@@@@@ набор символов между @@@@@ и @@@@@
[.+]  
^(\w+)$ выделить цифры вначале строки
^(\w+)\r\n выделить цифры вначале строки вместе с переводом каретки
^(.+)\r\n выделить строку с кареткой
\x20 код пробела
^[^\x20] строки без пробелов вначале
^\s*\S+ строки без пробелов вначале
^[a-zA-Z0-9]{4}$ найти строки длиной 4 символа диапазона aA-zZ-0-9
[\w]{4}$ последние 4 символа строки без спецсимволов
^[W]{4} первые 4 символа строки из спецсимволов
^(.+){100,5000}$ строка длиной от 100 до 5000 символов
^(\w|\W){300,5000}$ строка длиной от 300 до 5000 символов
[Tt]he The car parked in the garage
ar [.] «place to park a car.» — ar с точкой в конце
[^c]ar The car parked in the garage.
[T]?he The car is parked in the garage.
^.{3000,}$ строка длиной 3000 символов
(.+(товаром).+) строка со словом «товаром»
.+form.+\r\n строка со вхождением form
/^[1-7,9]\d{10,13}$/ телефон
<script([\s\S]+?)script> выделить script
{script([\s\S]+?)} выделить всё между фигурными скобками {}
<!—([\s\S]+?)—> выделить комменты в html
\n\s+ последовательность перевода каретки и пробелов можно заменить на каретку \n
> разбить строку тегов, замена на >\n
^(.*?ColorId) найти в строке первое совпадение от начала строки со словом ColorId
(.*?ColorId)$ то же с конца строки
a(?!b) а не следует за b
(?<!a)b b не перед a
style=»(.*?)» выделить style=»margin…blablabla»

ещё… и ещё2…

Легко.

Шпора:

Квантификаторы

  Аналог Пример Описание
? {0,1} a? одно или ноль вхождений «а»
+ {1,} a+ одно или более вхождений «а»
* {0,} a* ноль или более вхождений «а»

Модификаторы

Символ «минус» (-) меред модификатором (за исключением U) создаёт его отрицание.

  Описание
g глобальный поиск (обрабатываются все совпадения с шаблоном поиска)
i игнорировать регистр
m многострочный поиск. Поясню: по умолчанию текст это одна строка, с модификатором есть отдельные строки, а значит ^— начало строки в тексте, $— конец строки в тексте.
s текст воспринимается как одна строка, спец символ «точка» (.) будет вкючать и перевод строки
u используется кодировка UTF-8
U инвертировать жадность
x игнорировать все неэкранированные пробельные и перечисленные в классе символы

Спецсимволы

  Аналог Описание
()   подмаска, вложенное выражение
[]   групповой символ
{a,b}   количество вхождений от «a» до «b»
|   логическое «или», в случае с односимвольными альтернативами используйте []
\   экранирование спец символа
.   любой сивол, кроме перевода строки
\d [0-9] десятичная цифра
\D [^\d] любой символ, кроме десятичной цифры
\f   конец (разрыв) страницы
\n   перевод строки
\pL   буква в кодировке UTF-8 при использовании модификатора u
\r   возврат каретки
\s [ \t\v\r\n\f] пробельный символ
\S [^\s] любой символ, кроме промельного
\t   табуляция
\w [0-9a-z_] любая цифра, буква или знак подчеркивания
\W [^\w] любой символ, кроме цифры, буквы или знака подчеркивания
\v   вертикальная табуляция

Спецсимволы внутри символьного класса

  Пример Описание
^ [^da] отрицание, любой символ кроме «d» или «a»
[a-z] интервал, любой симво от «a» до «z»

Позиция внутри строки

  Пример Соответствие Описание
^ ^a aaa aaa начало строки
$ a$ aaa aaa конец строки
\A \Aa aaa aaa
aaa aaa
начало текста
\z a\z aaa aaa
aaa aaa
конец текста
\b a\b
\ba
aaa aaa
aaa aaa
граница слова, утверждение: предыдущий символ словесный, а следующий — нет, либо наоборот
\B \Ba\B aaa aaa отсутствие границы слова
\G \Ga aaa aaa Предыдущий успешный поиск, поиск остановился на 4-й позиции — там, где не нашлось a

Таблица соответствия написания регулярок в разных системах.#posix

POSIX Description ASCII Unicode Shorthand Java
[:alnum:] Alphanumeric characters [azAZ09] [\p{L}\p{Nl}
 
\p{Nd}]
  \p{Alnum}
[:alpha:] Alphabetic characters [azAZ] \p{L}\p{Nl}   \p{Alpha}
[:ascii:] ASCII characters [\x00\x7F] \p{InBasicLatin}   \p{ASCII}
[:blank:] Space and tab [ \t] [\p{Zs}\t] \h \p{Blank}
[:cntrl:] Control characters [\x00\x1F\x7F] \p{Cc}   \p{Cntrl}
[:digit:] Digits [09] \p{Nd} \d \p{Digit}
[:graph:] Visible characters (anything except spaces and control characters) [\x21\x7E] [^\p{Z}\p{C}]   \p{Graph}
[:lower:] Lowercase letters [az] \p{Ll} \l \p{Lower}
[:print:] Visible characters and spaces (anything except control characters) [\x20\x7E] \P{C}   \p{Print}
[:punct:] Punctuation (and symbols). [\#$%&'()*+,
\-./:;<=>?@\[
\\\]^_‘{|}~]
\p{P}   \p{Punct}
[:space:] All whitespace characters, including line breaks [ \t\r\n\v\f] [\p{Z}\t\r\n\v\f] \s \p{Space}
[:upper:] Uppercase letters [AZ] \p{Lu} \u \p{Upper}
[:word:] Word characters (letters, numbers and underscores) [AZaz09_] [\p{L}\p{Nl}
 
\p{Nd}\p{Pc}]
\w \p{IsWord}
[:xdigit:] Hexadecimal digits [AFaf09] [AFaf09]   \p{XDigit}