正则表达式测试器
在浏览器中实时测试 JavaScript 正则表达式,支持高亮显示匹配和捕获组。
//g
测试字符串
结果无匹配
字符类
锚点
量词
分组与环视
字符集
转义字符
标志
什么是正则表达式?
正则表达式(Regular Expression)是用于在字符串中搜索、提取和替换特定模式的特殊语言。在 JavaScript 中,可以通过 RegExp 对象和 match()、replace()、split() 等字符串方法来使用正则表达式。本工具使用浏览器内置的 JavaScript RegExp 引擎,无需安装任何软件即可立即测试。
标志(Flag)说明
g全局匹配 (global)
查找字符串中所有匹配项,而不是仅找到第一个匹配就停止。
i忽略大小写 (ignoreCase)
匹配时不区分大小写。/hello/i 可以匹配 Hello、HELLO 和 hello。
m多行模式 (multiline)
^ 和 $ 匹配每行的开头和结尾,而不仅仅是整个字符串的开头和结尾。
s点号匹配换行 (dotAll)
. 元字符可以匹配包括换行符(\n)在内的任意字符。
uUnicode 模式 (unicode)
启用完整的 Unicode 支持,包括 \u{XXXX} 码点转义和 Unicode 属性转义。
常用正则表达式示例
| 用途 | 模式 |
|---|---|
| 电子邮件验证 | ^[\w.-]+@[\w.-]+\.\w{2,}$ |
| 提取数字 | \d+ |
| 提取 URL | https?://[^\s]+ |
| 提取韩文 | [가-힣]+ |
| 删除空白 | \s+ |
常见问题
什么是正则表达式?
正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript 中与 match()、replace()、test()、split() 等方法配合使用,用于搜索、验证和转换文本。
g 标志和 i 标志有什么区别?
g(global)标志查找字符串中的所有匹配项而不只是第一个。i(ignoreCase)标志使匹配不区分大小写。可以组合使用:/pattern/gi 表示不区分大小写的全局匹配。
什么是捕获组?
捕获组是正则表达式中用括号 () 括起来的部分模式,用于提取匹配字符串的特定部分。例如,(\d{4})-(\d{2})-(\d{2}) 可以分别捕获日期中的年、月、日。
验证电子邮件地址的正则表达式是什么?
基本的电子邮件验证模式是 ^[\w.-]+@[\w.-]+\.\w{2,}$,将其粘贴到上面的测试器中即可立即验证。
如何转义特殊字符?
在正则表达式的特殊字符(. * + ? ( ) [ ] { } ^ $ | \)前面加上反斜杠(\)即可将其作为普通字符匹配。例如,使用 \. 来匹配真正的句点。
这和其他编程语言的正则表达式一样吗?
本测试器使用 JavaScript 内置的 RegExp 引擎(符合 ECMAScript 标准)。大多数语法与 Python、PHP、Java 等基于 PCRE 的语言相同,但某些高级功能可能有所不同。