正则表达式测试工具

/ /

什么是正则表达式?

正则表达式(Regular Expression,简称 Regex)是一种用于匹配字符串中字符组合的模式。在编程中,它被广泛用于数据验证(如检查邮箱格式)、搜索、替换和提取信息。

本工具是一个完全运行在客户端的正则测试器,您的数据不会上传到任何服务器,确保隐私安全。它基于 JavaScript 的正则引擎,支持标准的 JS 正则语法。

常用语法速查表

字符 描述 示例
^ 匹配输入的开始 ^A
$ 匹配输入的结束 end$
* 匹配前一个字符 0 次或多次 bo*
+ 匹配前一个字符 1 次或多次 bo+
? 匹配前一个字符 0 次或 1 次 e?le
. 匹配除换行符外的任何单个字符 .n
\d 匹配一个数字字符,等价于 [0-9] \d+
\w 匹配字母、数字或下划线 \w+
\s 匹配任何空白字符 \s
[abc] 字符集合,匹配方括号中的任意字符 [aeiou]

常见问题 (FAQ)

g, i, m 这些修饰符是什么意思?
  • g (Global): 全局匹配,查找所有匹配项,而不仅仅是第一个。
  • i (Insensitive): 不区分大小写匹配。
  • m (Multiline): 多行匹配,使 ^ 和 $ 能匹配每一行的开始和结束。
如何匹配中文字符?
可以使用 Unicode 范围 [\u4e00-\u9fa5] 来匹配常用的简体和繁体汉字。
贪婪模式和非贪婪模式有什么区别?
正则默认是“贪婪”的,会尽可能多地匹配字符。例如 a.*b 匹配 "aabab" 时会匹配整个字符串。如果在量词后加 ?(如 a.*?b),则变为“非贪婪”,只匹配到第一个 b(即 "aab")。
如何匹配中国手机号?
常用的匹配规则是:^1[3-9]\d{9}$。这表示以 1 开头,第二位是 3-9 之间的数字,后面跟着 9 个任意数字,总长 11 位。
如何匹配电子邮箱?
一个通用的简单规则是:^[\w\.-]+@[\w\.-]+\.\w+$。注意这只是为了演示,实际生产环境中验证邮箱可能会更复杂,需符合 RFC 标准。
如何匹配特殊字符(如 . * ?)?
这些是正则的元字符,如果想匹配它们本身,需要用反斜杠 \ 进行转义。例如匹配点号 . 需要写成 \.,匹配问号 ? 写成 \?。
什么是零宽断言(Lookaround)?
这是一种不消耗字符的匹配方式。例如 (?=exp) 是正向先行断言,匹配后面跟着 exp 的位置;(?<=exp) 是正向后行断言,匹配前面是 exp 的位置。它们只做判断,不包含在匹配结果中。
如何匹配空白字符?
使用 \s 可以匹配任意空白符,包括空格、制表符、换行符等。如果要匹配多个连续空白,可以使用 \s+。

更多免费实用工具