Реклама

Тестер RegEx

Тестирование и регулярная отладка выражения

Совпадения не найдены

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

Что такое регулярные Выражения?

Регулярные выражения (regex или regexp) — это шаблоны, используемые для сопоставления комбинаций символов в струны. Это невероятно мощный инструмент для поиска, проверки, извлечения и замена текста. Первоначально разработанное в 1950-х годах, регулярное выражение теперь поддерживается практически во всех язык программирования и текстовый редактор.

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

Краткий справочник по синтаксису регулярных выражений

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

  • \d - Any digit (0-9)
  • \w - Word character (a-z, A-Z, 0-9, _)
  • \s - Whitespace (space, tab, newline)
  • . - Any character except newline
  • [abc] - Any of a, b, or c
  • [^abc] - Not a, b, or c

Кванторы

  • * - 0 or more
  • + - 1 or more
  • ? - 0 or 1 (optional)
  • {n} - Exactly n times
  • {n,} - n or more times
  • {n,m} - Between n and m times

Якоря & Границы

  • ^ - Start of string/line
  • $ - End of string/line
  • \b - Word boundary
  • \B - Non-word boundary

Группы и Чередование

  • (abc) - Capture group
  • (?:abc) - Non-capture group
  • a|b - Either a or b
  • \1 - Backreference to group 1

Общие сведения о флагах

g (глобальные) — найти все совпадения, а не только первое. one
i (игнорировать регистр) — сопоставление без учета регистра (A соответствует a)
m (многострочный) - ^ и $ соответствует началу/концу каждого строка, а не только строка
s (dotAll) — создает . сопоставлять символы новой строки

Часто задаваемые вопросы

Почему мне нужно экранировать обратная косая черта?

In JavaScript strings, backslash is an escape character. To include a literal backslash in a regex pattern from a string, you need \\. For example, \\d in a string becomes \d in the regex.

В чем разница между * и +?

* matches zero or more occurrences (can match nothing). + requires at least one occurrence. For example, a* matches "", "a", "aaa", while a+ only matches "a", "aaa".

Как мне сопоставить литерал период или скобка?

Special regex characters need to be escaped with a backslash. To match a literal period, use \.. For brackets: \[ and \]. Characters that need escaping: . * + ? ^ $ { } [ ] \ | ( )

Почему мой шаблон совпадение слишком много?

Regex quantifiers are "greedy" by default—they match as much as possible. Add ? after a quantifier for "lazy" matching (e.g., .*? instead of .*).

общие случаи использования

  • Проверка формы: Проверка электронной почты, телефона числа, URL-адреса и пользовательские форматы
  • Поиск и замена: Найти и преобразовать текстовые шаблоны в редакторах и коде
  • Парсинг журналов: Извлечение временных меток, IP-адресов, и коды ошибок из файлов журналов
  • Извлечение данных: Извлечение определенных данных из HTML, JSON или неструктурированного текста
  • Очистка ввода: Удалить или экранировать опасные символы
Реклама