TL
Tool Lab
💰Пожертвовать
💰Пожертвовать

Справочник по Regex

Быстрый справочник по синтаксису регулярных выражений: классы символов, якоря, квантификаторы, группы, флаги и общие шаблоны.

Классы символов

.Any character except newline
\wWord character [a-zA-Z0-9_]
\WNon-word character
\dDigit [0-9]
\DNon-digit
\sWhitespace (space, tab, newline)
\SNon-whitespace
[abc]Character class — a, b, or c
[^abc]Negated class — not a, b, or c
[a-z]Range — any lowercase letter
[a-zA-Z0-9]Alphanumeric characters

Якоря

^Start of string (or line with multiline)
$End of string (or line with multiline)
\bWord boundary
\BNon-word boundary
\AStart of string (not multiline)
\ZEnd of string (not multiline)

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

*Zero or more (greedy)
+One or more (greedy)
?Zero or one (greedy)
{n}Exactly n times
{n,}n or more times
{n,m}Between n and m times
*?Zero or more (lazy/non-greedy)
+?One or more (lazy/non-greedy)
??Zero or one (lazy/non-greedy)

Группы и альтернация

(abc)Capture group
(?:abc)Non-capturing group
(?P<name>abc)Named capture group
a|bAlternation — a or b
(?=abc)Positive lookahead
(?!abc)Negative lookahead
(?<=abc)Positive lookbehind
(?<!abc)Negative lookbehind

Экранирование и спецсимволы

\nNewline
\tTab
\rCarriage return
\0Null character
\uXXXXUnicode character (hex)
\.Literal dot (escaped)
\\Literal backslash

Флаги

gGlobal — find all matches
iCase-insensitive
mMultiline — ^ and $ match line start/end
sDotall — . matches newline
uUnicode — treat pattern as Unicode
ySticky — match from lastIndex

Общие шаблоны

^[\w.-]+@[\w.-]+\.\w{2,}$Email address
https?://[\w./%-]+URL (basic)
^\d{1,3}(\.\d{1,3}){3}$IPv4 address
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$Hex color
^\d{4}-\d{2}-\d{2}$ISO date (YYYY-MM-DD)
^[+]?[\d\s()-]{7,15}$Phone number (basic)
^(?=.*[A-Z])(?=.*\d).{8,}$Password: 8+ chars, 1 uppercase, 1 digit

Об этом инструменте

Регулярные выражения — мощный язык для описания шаблонов в строках. Этот справочник охватывает наиболее часто используемый синтаксис и шаблоны.

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

Как использовать

  1. Просматривайте разделы, чтобы найти нужный синтаксис.
  2. Используйте поиск для фильтрации по ключевому слову.
  3. Нажмите на любой шаблон, чтобы скопировать его в буфер обмена.
  4. Тестируйте шаблоны в инструменте Regex Tester.

Случаи использования

Полезно для валидации форм, разбора строк, анализа логов, поиска и замены и многих других задач программирования.

Частые вопросы

  • Работает ли синтаксис regex во всех языках?Большинство языков поддерживают regex, но с небольшими синтаксическими различиями. Основные языки, такие как JavaScript, Python и Java, следуют PCRE-совместимому синтаксису.
  • Как сделать шаблон нечувствительным к регистру?Добавьте флаг i после шаблона. Пример: /шаблон/i
  • В чём разница между жадными и ленивыми квантификаторами?Жадные квантификаторы (*, +, ?) захватывают как можно больше; ленивые (*?, +?, ??) — как можно меньше.