Тестер регулярных выражений - проверка вживую и безопасно
Тестер регулярных выражений
Флаги
Используйте $1, $2 для групп и $& для всего совпадения.
| № | Позиция | Совпадение | Группы |
|---|
Этот тестер работает на движке JavaScript вашего браузера, то есть диалект это ECMAScript. Шаблоны, написанные для PCRE, Python или .NET, могут вести себя иначе, особенно в части ретроспективных проверок, атомарных групп, притяжательных квантификаторов и экранирования свойств Unicode.
Что делает этот тестер регулярных выражений
Регулярное выражение легко написать и трудно в нём удостовериться. Эта страница показывает, что ваш шаблон на самом деле нашёл в вашем тексте, какие группы захватил и что дала бы замена, прежде чем этот шаблон окажется рядом с боевыми данными.
Как пользоваться
- 1 Введите шаблон между косыми чертами и отметьте нужные флаги.
- 2 Вставьте ниже реальный текст, чем беспорядочнее, тем лучше, и нажмите «Выполнить».
- 3 Смотрите подсвеченный вид для быстрой проверки, таблицу для захваченных групп, а замену добавьте, чтобы увидеть предпросмотр переписывания.
Почему шаблон выполняется в отдельном worker
Некоторые шаблоны взрываются. Вложенный квантификатор вроде (a+)+$ может заставить движок перебрать астрономическое число путей на почти подходящей строке, а уже запущенное регулярное выражение нельзя прервать со страницы, которая его запустила. Запуск в worker позволяет остановить его через две секунды, так что плохой шаблон стоит вам сообщения, а не замороженной вкладки.
Краткая справка
| \d | цифра |
| \w | буква, цифра или подчёркивание |
| \s | любой пробельный символ |
| . | любой символ, кроме переноса строки |
| ^ $ | начало и конец текста |
| * + ? | ноль и больше, один и больше, ноль или один |
| {2,5} | от двух до пяти раз |
| (...) | группа захвата, доступна как $1 |
| (?<ad>…) | именованная группа, читается легче в длинных шаблонах |
| [a-z] | любой символ из набора |
| a|b | либо левая часть, либо правая |
| \b | граница слова, сама не занимает символов |
Диалект имеет значение
Шаблон, который работает здесь, может не сработать в вашем серверном коде и наоборот. JavaScript, PCRE, Python и .NET различаются тем, что поддерживают, а иногда и тем, что означает один и тот же синтаксис. Проверяйте в том диалекте, в котором будете разворачивать, а эту страницу считайте подходящим местом для всего, что побежит в браузере.
Большинство ошибок прячется в группах
Само совпадение часто верное, а захваты нет: группа необязательная и возвращается неопределённой, или две группы меняются местами, потому что сместилась скобка. Таблица показывает каждую группу каждого совпадения рядом, и это самый быстрый способ увидеть, что $2 не то, что вы думали.
Ничто из введённого никуда не отправляется
Тестовый текст редко выдуман. Люди вставляют строки логов, карточки клиентов и платёжные реквизиты, чтобы увидеть, ловит ли их шаблон. И шаблон, и текст остаются в странице, поэтому проверка на настоящих данных не означает передачу этих данных кому-либо.