Java正则表达式测试器
根据示例文本测试Java(java.util.regex)正则表达式 — 显示find()、matches()或lookingAt()的结果,包括匹配位置、捕获组、replaceAll输出和可复制的Pattern.compile代码片段。
输入
正则表达式引擎看到的模式 — 单个反斜杠,如\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}"
}'替换成您账户中的密钥。工具的字段即为请求体——没有额外包装。
让 AI 代理执行
Use the IOTools `java-regex-tester` tool (Java Regex Tester) on this input:
YOUR_INPUT_HERE将此粘贴给任何已连接 IOTools MCP 服务器的代理,再加上您的输入内容。
嵌入式小组件
<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代码中一样。
如何使用
- 按照正则表达式引擎看到的方式输入模式:
\d+,而不是Java字符串"\\d+"。 - 选择matcher方法:
find()列出每个匹配,matches()检查整个文本是否匹配,lookingAt()检查文本是否以匹配开始。 - 勾选你使用的任何
Pattern标志:CASE_INSENSITIVE、MULTILINE、DOTALL、COMMENTS或LITERAL。 - 粘贴你的输入文本。键入时结果实时更新。
添加替换如${user}@example.org或$2-$1来预览replaceAll。系统会为你生成一条带有已转义为Java字符串字面值的模式的Pattern.compile(...)行,可以粘贴到代码中。
再现的Java细节
$也在最后行终止符之前匹配,.、^和$使用Java的行终止符(\n、\r\n、\r、\u0085、、)。- 组名遵循Java规则:只有字母和数字,以字母开头。
- 偏移是UTF-16索引,与Java字符串相同。
限制
内联标志如(?i)仅在模式开头起作用;其余部分使用复选框。不支持\G、\X和Unicode块(\p{InGreek})。不区分大小写的匹配使用Unicode大小写折叠,而Java默认仅使用ASCII。包含量词内量化组的模式,如(a+)+,会被拒绝,因为它们可能导致死循环;(a++)+是可以的。
一切在你的浏览器中运行;不上传任何内容。
相关工具
对于JavaScript模式,请使用正则表达式测试器。要检查模式是否存在灾难性回溯,请使用正则表达式ReDoS漏洞检测器;要为Java代码转义字符串,请使用Java & .NET字符串转义工具。