正则表达式测试工具
实时测试正则表达式,支持匹配结果查看和替换功能。
替换文本
常用正则表达式
\d{3}-\d{4}-\d{4}匹配中国手机号
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$匹配邮箱地址
^(https?|ftp)://[^\s/$.?#].[^\s]*$匹配URL链接
\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b匹配IP地址
功能特点
- 支持自定义正则表达式和 flags 修饰符(g/i/m),实时执行匹配测试
- 清晰的匹配结果展示,包含匹配内容、位置索引和匹配总数
- 内置替换功能,支持将匹配内容替换为指定文本并一键复制结果
- 预置常用正则模板:手机号、邮箱、URL、IP 地址等常见模式
- 即时错误检测,无效正则表达式会给出详细的语法错误信息
使用说明
在正则表达式输入框中输入要测试的正则模式,勾选需要的修饰符(全局匹配 g、忽略大小写 i、多行模式 m)。在测试文本区域中输入待匹配的文本,点击「执行匹配」按钮查看所有匹配结果。替换功能可以将匹配内容替换为指定文本。
使用示例
正则测试示例
正则: \d{11}
文本: 我的电话是13812345678和15987654321
匹配: 13812345678(位置 5)、15987654321(位置 18)
总数: 2 个匹配常见问题
正则表达式中的特殊字符如何匹配字面含义?
特殊字符如 . * + ? 等需要使用反斜杠转义,例如 \. 匹配句点,\* 匹配星号。
全局标志 g 和非全局匹配有什么区别?
全局标志 g 会查找所有匹配结果,非全局模式找到第一个匹配后就停止。
为什么我的正则表达式在替换时报错?
替换功能会自动移除全局标志 g。如果需要替换所有匹配,请在正则中保留 g 标志。
为什么这个工具如此重要?
正则表达式是文本处理的强大工具,但语法复杂、易出错,编写和调试正则表达式是许多开发者的痛点。正则表达式测试器提供了一个实时交互的环境,让开发者可以输入正则模式、测试文本,并立即看到匹配结果。
典型应用场景
- 表单验证:验证邮箱、手机号、密码格式是否正确
- 数据提取:从文本中提取特定模式的数据
- 文本替换:批量替换匹配的文本内容
- 日志分析:从日志文件中提取关键信息
- 开发调试:快速测试和验证正则表达式的正确性
工作原理
正则表达式测试器使用 JavaScript 的 RegExp 对象对输入的正则模式和测试文本进行匹配。工具支持 JavaScript 正则语法的所有特性,并提供实时匹配结果展示。
实用技巧
- 使用捕获组提取特定部分的数据
- 测试时使用多种边界情况的文本,确保正则的鲁棒性
- 复杂的正则建议分段构建和测试