工具用的顺手吗?
你的反馈能帮助我们做得更好
在线测试Java正则表达式,实时验证匹配结果,提取捕获组,调试开发更高效。
CASE_INSENSITIVE / i
MULTILINE / m
DOTALL / s
UNICODE_CASE
UNICODE_CHARACTER_CLASS
COMMENTS / x
LITERAL
请输入正则表达式和待匹配文本
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
正则表达式用一段模式描述需要查找的文本结构。例如,字符类限定可接受的字符,量词描述重复次数,圆括号则可以把模式的一部分保存为捕获组。测试时,完整匹配表示整个模式命中的文本,捕获组则显示括号内各部分对应的内容。
本页提供匹配查看和替换预览,可显示高亮文本、匹配数量、每项的位置、长度、编号捕获组及命名组。JDK的Pattern类与ECMAScript的RegExp对象分别有自己的规则;相关官方文档列在下方,使用Java代码时应按目标运行环境确认最终行为。
指南
按步骤完成操作,并通过示例核对输入与结果。
在模式框输入正则本身,不需要再包一层Java字符串引号。例如可用([A-Z]+)-([0-9]+)查找类似A-204的编号。
匹配模式会自动列出文本中的各项命中。切到替换模式后填写替换内容,并选择替换全部匹配或只替换第一项。
粘贴待检查文本;需要时开启忽略大小写、多行、点号跨行、Unicode、注释或字面量选项。多行选项会影响^和$按整段还是按行定位;点号跨行选项控制句点能否匹配换行。
结果区会高亮命中内容,逐项列出位置、长度和捕获组。替换模式会显示替换后的文本,可复制匹配清单或替换结果。
例如,模式([A-Z]+)-([0-9]+)作用于“A-204、B-9”时,会列出两个命中,并分别显示前缀与数字捕获组。逐项检查命中片段和分组值,可以看出模式实际抓取的是完整编号还是其中一部分。
场景
查看这项工具在不同工作与生活流程中的用法。
开发者可用编号或状态字段样本测试分组,例如检查A-204是否被拆成前缀A和数字204,再决定是否把模式用于日志解析脚本。
维护数据清洗规则的团队可先在一小段代表性文本上预览替换结果,检查替换后的字段顺序与捕获组是否对应。
学习者可逐项切换多行和点号选项,观察匹配高亮、命名组和编号组的变化,帮助理解模式如何划分文本。
问答
集中解答高频疑问与容易混淆的问题。
输入框接收的是正则模式本身,而不是Java源代码字符串。若复制内容带有Java字符串字面量的额外转义,先还原成模式本身再测试。
多行选项改变^和$对每一行开头、结尾的判断;点号跨行选项改变句点是否能匹配换行字符,两者解决的是不同问题。
替换预览只处理第一个命中;勾选后才会把所有命中都用于替换。可以先比较预览再复制结果。
在模式两端加入起始和结束锚点,并根据文本是否多行调整多行选项。该选项默认开启;若要把整段文本作为一个整体核对,可先关闭多行,再分别测试符合和不符合的样本。
须知
使用前了解适用范围、结果限制与必要提醒。
推荐
查找相关工具、专题与可用的 API 能力。