输入正则模式和测试字符串,即可实时查看匹配高亮、捕获组和匹配详情。支持 JavaScript 正则语法。
正则表达式(regex 或 regexp)是强大的模式匹配序列,几乎在所有编程语言、文本编辑器和命令行工具中都被使用。其核心在于让你描述字符串的形态,而不是指定具体字符。单个正则模式可以匹配成千上万种不同的字符串——例如,模式 \d{3}-\d{3}-\d{4} 可以匹配任何格式为 555-123-4567 的美国电话号码,无论实际数字如何。这使得正则在数据验证、文本解析、搜索替换以及网页抓取中不可或缺。
虽然正则语法可能变得复杂,但少数核心模式已能覆盖大多数实际需求。电子邮件校验常使用 [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,},但在生产环境中应使用库以实现完整的 RFC 兼容。URL 匹配通常以 https?://[^\s]+ 开头。要从文本中提取数字,可使用 \d+(\.\d+)? 捕获整数和小数。学习字符类(\d、\w、\s)、量词(+、*、?、{n,m})和锚点(^、$、\b)即可获得足够的构建块,处理绝大多数文本处理任务。
正则中最常见的错误是由于贪婪量词导致的匹配过多或不足。默认情况下,.* 是贪婪的,会尽可能多地消费文本;在其后添加 ? 可使其变为惰性(.*?),匹配最短可能的字符串。始终使用边界情况进行测试:空字符串、包含特殊字符的字符串以及应当不匹配的字符串。此在线测试工具完全在浏览器中运行,数据永不传输到服务器——因此可安全地对敏感文本进行模式测试。使用全局标志可查找所有匹配,并关注捕获组以确保精确提取所需数据。