UnitConv
正则表达式

正则表达式测试器

使用实时匹配高亮和捕获组显示测试正则表达式

正则表达式

//g

关于本工具

正则表达式测试器是一款免费工具,可实时显示你的模式如何匹配一段文本。它会高亮每处匹配、统计匹配数,并清晰提取捕获组与命名组的结果。无论是构建表单校验、从日志中提取数据,还是编写替换规则都非常实用,并附有速查表以便快速查阅各元字符的含义。

使用方法

  1. 1 在模式框中输入正则表达式。
  2. 2 在测试文本框中粘贴要验证的文本。
  3. 3 匹配部分会被高亮,并显示数量与详情。
  4. 4 查看捕获组与命名组的提取结果。

原理说明

正则表达式是描述文本模式的小型语言。基本元字符如下: ・「.」匹配任意单个字符,「\d」匹配数字,「\w」匹配单词字符,「\s」匹配空白。 ・「*」表示前项零次或多次,「+」一次或多次,「?」零次或一次,「{2,4}」重复 2~4 次。 ・「^」匹配行首,「$」匹配行尾,「[abc]」匹配 a、b 或 c,「(…)」构成捕获组。 例如邮箱的简易校验可写为「^\w+@\w+\.\w+$」。需注意「*」和「+」默认是「贪婪」的,会尽量长地匹配;想要最短匹配时加「?」(如「*?」)。具体行为在 JavaScript、Python、PHP 等不同流派中存在差异,需注意使用环境。

常见问题

贪婪匹配与非贪婪匹配有何区别?

贪婪量词(* 和 +)尽量长地匹配,非贪婪量词(*? 和 +?)尽量短地匹配。在提取 HTML 标签时区分二者,可避免抓取过多内容。

什么是捕获组?

用圆括号 () 括起、可在之后取出的匹配部分,例如可分别提取日期中的年、月、日。

什么是正则表达式的流派?

指 JavaScript、Python、PCRE 等不同实现的方言。环视与命名组的写法可能不同,需与运行环境保持一致。

如何按字面搜索特殊字符?

对「.」「*」等有特殊含义的字符,在前面加反斜杠「\」转义。例如真正的句点写作「\.」。

相关工具与用途

想查看字符的码值可用 ASCII 转换,学习字符串处理基础可用进制转换。处理数学模式时还可使用方程求解器。