← 返回首页

正则表达式测试

功能亮点

实时匹配高亮

输入正则立刻在测试文本中高亮所有匹配项,边写边看效果。

捕获组提取

用小括号 () 分组后,每组匹配内容单独列出,方便提取特定字段。

Flag 开关

一键切换 g(全局)、m(多行)、i(忽略大小写)模式。

替换预览

输入替换文本,预览替换后的效果,满意了再复制正则和替换模式。

使用步骤

  1. 在「正则表达式」框中输入你的正则;
  2. 在「测试文本」框中粘贴待匹配的文本;
  3. 查看高亮匹配结果和捕获组;
  4. 如需替换,在「替换为」框输入替换内容预览效果。

正则表达式为什么难写?

输入正则表达式和测试文本,查看匹配结果,并按页面选项设置标志。

常见问题

贪婪匹配和懒惰匹配有什么区别?
贪婪匹配(默认)尽可能多匹配。如 /<.*>/ 在 <div>hello</div> 中会匹配整个字符串。懒惰匹配(量词后加 ?)尽可能少匹配:/<.*?>/ 只匹配 <div>。大多数场景懒惰匹配更符合直觉。
为什么正则在 JS 里能用,Python 里不行?
虽然正则概念通用,但不同语言的正则引擎有差异。JS 不支持后顾断言中的不定长模式;Python re 模块默认不支持 Unicode 属性转义;Ruby 的正则支持嵌入代码。跨语言写正则时,以最受限的目标语言为准。
正则会导致性能问题吗?
会——这就是灾难性回溯。嵌套量词如 /(a+)+b/ 匹配长串 a 字符时,引擎会尝试指数级路径,CPU 瞬间 100%。安全准则:① 避免量词嵌套;② 用具体字符类代替 .;③ 限制待匹配文本的长度。