Тестер Регулярных Выражений Java
Протестируйте регулярное выражение Java (java.util.regex) на образце текста — результаты find(), matches() или lookingAt() с позициями совпадений, группами захвата, выводом replaceAll и готовым к вставке фрагментом Pattern.compile.
Ввод
Выражение так, как его видит движок regex — одиночные обратные слэши, например \d+, а не экранированная строка Java "\\d+".
Синтаксис Matcher.replaceAll: $1 или ${name} вставляют группу, \ экранирует следующий символ.
Вывод
| # | Совпавший Текст | start() | end() | Группы Захвата |
|---|---|---|---|---|
| No data yet | ||||
Другие способы использовать этот инструмент
REST API
curl -X POST https://api.iotools.cloud/v1/tool/java-regex-tester \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pattern": "(?<user>\\w+)@(?<domain>[\\w.]+)",
"mode": "find",
"testString": "Contact: hello@example.com, support@iotools.clou…",
"replacement": "${domain}:${user}"
}'Подставьте свой собственный ключ из аккаунта. Поля инструмента — это тело запроса, без обёртки.
Спросите у ИИ-агента
Use the IOTools `java-regex-tester` tool (Java Regex Tester) on this input:
YOUR_INPUT_HEREВставьте это любому агенту, подключённому к MCP-серверу IOTools, и добавьте свой ввод.
Виджет для встраивания
<iframe
src="https://iotools.cloud/embed/java-regex-tester/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="Тестер Регулярных Выражений Java — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.
| Стоимость вызова API/MCP | От 5 кредитов |
|---|---|
| Нужно больше кредитов? | Посмотреть тарифы |
Также доступно через
Руководства
Тестер Регулярных Выражений Java выполняет шаблон java.util.regex на вашем тексте и показывает, что сообщила бы Java Matcher: каждое совпадение, его смещения start() и end(), и каждую группу захвата. Он следует диалекту Java, а не JavaScript, поэтому такие функции, как притяжательные кванторы (a++), атомарные группы ((?>…)), цитирование \Q…\E, классы POSIX вроде \p{Alpha} и пересечение классов ([a-z&&[^aeiou]]) ведут себя так же, как в вашем коде Java.
Как использовать
- Введите выражение так, как его видит движок regex:
\d+, а не строка Java"\\d+". - Выберите метод matcher:
find()выводит все совпадения,matches()проверяет, что весь текст совпадает,lookingAt()проверяет, что текст начинается с совпадения. - Отметьте все флаги
Pattern, которые вы используете:CASE_INSENSITIVE,MULTILINE,DOTALL,COMMENTSилиLITERAL. - Вставьте ваш входной текст. Результаты обновляются по мере ввода.
Добавьте замену вроде ${user}@example.org или $2-$1, чтобы просмотреть replaceAll. Строка Pattern.compile(...) с выражением, уже экранированным как Java-строка, генерируется для вставки в код.
Детали Java, которые воспроизводятся
$также совпадает прямо перед конечным символом новой строки, и.,^и$используют концы строк Java (\n,\r\n,\r,\u0085,,).- Имена групп следуют правилу Java: только буквы и цифры, начиная с буквы.
- Смещения — это индексы UTF-16, как и в строках Java.
Ограничения
Встроенные флаги вроде (?i) работают только в начале выражения; используйте флажки для остальной части. \G, \X и блоки Unicode (\p{InGreek}) не поддерживаются. Сопоставление без учета регистра использует Unicode-сворачивание, тогда как Java по умолчанию использует только ASCII. Выражения с квантифицированной группой внутри кванторов, вроде (a+)+, отклоняются, так как могут зависнуть; (a++)+ работает.
Всё выполняется в вашем браузере; ничего не загружается.
Связанные инструменты
Для выражений JavaScript используйте Тестер Регулярных Выражений. Чтобы проверить выражение на катастрофический backtracking, используйте Детектор Уязвимости ReDoS Регулярных Выражений, а для экранирования строк для кода Java используйте инструмент Java & .NET String Escape.