如何根据示例文本测试正则表达式
在正则表达式测试工具中输入模式和示例文本即可检查匹配结果。成功评估后可查看匹配总数、位置、匹配文本和捕获组。
用途与输入
这个工具适合在一段示例文本上检查正则表达式是否能找到目标内容。成功评估后,你可以查看匹配总数,以及每个匹配的起止位置、匹配文本和捕获组,便于核对分组是否按预期工作。
操作步骤:测试正则表达式
-
在正则表达式输入框中填写要测试的模式,在测试文本输入框中粘贴待检查的内容。两个输入框属于可选文本输入,未填写时默认是空字符串;但空模式会在开始匹配前导致评估失败,而填写了模式时,空测试文本也会导致失败。
-
如需调整匹配方式,在 flags 输入框填写支持的字符。
i表示忽略大小写,m表示多行,s表示点号匹配换行,x表示详细模式,u表示 Unicode 模式,a表示 ASCII 模式。输入框中除这六个字符以外的字符不会启用匹配模式,因此应检查拼写,避免把不支持的字符当作设置使用。 -
提交或运行评估。模式能够编译且测试文本不为空时,工具会尝试查找匹配;成功结果会标记评估有效,并报告匹配总数。若模式无法编译,评估会失败,不会返回匹配详情。
-
查看结果中的匹配记录。对每条匹配,重点核对 start 和 end 所代表的起止位置、匹配到的文本,以及捕获组内容。编号捕获组和命名捕获组都可能出现在详情中。
如何解读结果
先看评估是否有效,再看匹配总数。如果评估有效且总数大于零,可继续检查每条记录的位置、文本和捕获组;如果评估有效但没有匹配,说明当前模式在这段测试文本中没有找到结果,这不等同于模式本身无法编译。
如果评估失败,优先检查模式是否为空、测试文本是否为空,以及正则表达式是否可以编译。还要重新检查 flags:只有 i、m、s、x、u、a 会改变匹配方式,其他字符不会启用对应模式。位置数据适合用来核对匹配范围,捕获组则适合确认分组提取结果。
使用示例
你想检查一段订单文本中的数字片段,并确认匹配记录是否提供位置与文本信息。
在模式中输入 \d+,在测试文本中输入 订单编号 2024,不填写 flags,然后运行评估并检查结果详情。
成功评估时,结果标记为有效,匹配总数为 1,匹配到的文本为 2024;该匹配记录还会给出起止位置,由于模式中没有用括号分组,因此不包含捕获组。
使用限制
- 无法编译的正则表达式会导致评估失败;除
i、m、s、x、u、a外的 flags 字符不会启用匹配模式。
常见错误
- 在 flags 中填入了不受支持的字符时,匹配方式不会改变。只需使用
i、m、s、x、u、a,再重新评估即可。
常见问题
测试正则表达式前需要准备什么?
条件是模式能够编译且测试文本不为空;满足条件时,工具会评估匹配,并在成功时报告匹配总数。
flags 支持哪些匹配模式?
只有 i、m、s、x、u、a 会启用对应模式;其他 flags 字符会被忽略。
结果中能看到哪些匹配详情?
成功评估后,每条匹配会包含起止位置、匹配文本和捕获组;捕获组可能包括编号组和命名组。