正则表达式测试
热门 🔥实时测试正则表达式
如何使用 正则表达式测试
- 1输入您的正则表达式
- 2选择标志(g、i、m、s、u)
- 3粘贴测试文本
- 4匹配项实时高亮显示
关于 正则表达式测试
正则表达式测试器提供实时环境,用于编写、测试和调试正则表达式。输入您的模式和测试字符串,所有匹配项在您输入时即刻高亮显示——无需运行代码或重新加载页面。
捕获组单独显示,让您可以精确检查每个组匹配的内容。测试器使用 JavaScript 原生 RegExp 引擎,与 Node.js 和所有主流浏览器中使用的引擎相同。
在此处有效的模式可直接用于您的 JavaScript 或 TypeScript 代码。
正则表达式测试的主要功能
- 输入模式时实时匹配高亮显示
- 显示所有匹配项及其开始/结束位置
- 单独显示捕获组和命名组
- 支持标志:g(全局)、i(不区分大小写)、m(多行)、s(dotAll)、u(Unicode)
- 突出显示匹配计数
- 完全使用 JavaScript RegExp 在浏览器内运行
- 理解正则表达式各部分的模式说明侧边栏
- 与 Node.js 和所有主流 JavaScript 运行时兼容
示例
验证电子邮件地址格式
测试匹配标准电子邮件地址格式的正则表达式模式。
输入
模式: ^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$ | 测试: user@example.com 和 invalid-email输出
user@example.com — 1 个匹配 | invalid-email — 0 个匹配
从文本块中提取所有 URL
使用全局模式在文本字符串中查找所有 HTTP/HTTPS URL。
输入
模式: https?://[^\s]+(带 g 标志)| 测试: 包含多个 URL 的文本
输出
所有 URL 高亮显示,每个作为单独的匹配项显示
常见使用场景
- 测试和迭代输入验证模式(电子邮件、电话、邮政编码)
- 构建日志解析模式从日志行中提取结构化数据
- 为代码编辑器和脚本编写搜索替换模式
- 通过即时反馈交互式学习正则表达式语法
- 调试在代码中表现不同于预期的正则表达式模式
- 从 CSV 行或配置行等结构化文本中提取特定字段
故障排除
模式不匹配任何内容但看起来正确
解决方案
如果期望多个匹配,请检查是否设置了全局(g)标志。没有 g 标志,JavaScript 只找到第一个匹配。
模式中的反斜杠不起作用
解决方案
在 JavaScript 正则表达式字面量中,\d、\w、\s 是有效的。如果从使用双反斜杠的字符串字面量粘贴,请删除多余的反斜杠。
正则表达式导致浏览器挂起或无响应
解决方案
某些模式可能发生灾难性回溯——例如,在不匹配输入上的嵌套量词如 (a+)+。简化模式或使用更短的字符串测试。
常见问题
使用什么正则表达式引擎?
该工具使用 JavaScript 原生 RegExp 引擎,支持前向断言、后向断言、命名捕获组和 Unicode 属性转义。
支持哪些标志?
全局(g)、不区分大小写(i)、多行(m)、dotAll(s)使 . 匹配换行符,以及 Unicode(u)提供完整 Unicode 支持。
如何匹配换行符?
使用 \n 匹配换行符。启用 dotAll(s)标志使 . 也匹配换行符。
什么是捕获组?
捕获组是正则表达式模式中括号内的部分。例如,(\d{4})-(\d{2})-(\d{2}) 在 "2023-11-14" 上捕获 "2023"、"11" 和 "14"。
贪婪和惰性量词有什么区别?
贪婪量词(+、*)尽可能多地匹配。惰性量词(+?、*?)尽可能少地匹配。
可以测试带 Unicode 字符的模式吗?
是的。启用 Unicode(u)标志以使用 Unicode 属性转义如 \p{Letter}。
我的数据会被发送到服务器吗?
不会。所有正则匹配均在您的浏览器本地执行。您的模式和测试字符串永远不会离开您的设备。
可以在其他编程语言中使用此正则表达式吗?
JavaScript RegExp 与 Python、Java 或 PCRE 相似但不完全相同。基本功能在很大程度上是兼容的;特定语言的语法需要调整。