正则表达式在线测试
写下正则表达式,边输入边看它匹配到了什么。
如何使用 正则表达式测试
输入模式
输入不带斜杠的正则表达式,或粘贴完整的 /pattern/flags,并勾选所需的标志。
添加测试文本
粘贴文本或打开文件。每个匹配都会高亮显示,下方列出其位置和分组。
替换或复制
勾选“替换”,用 $1 或 $<name> 尝试替换,然后复制结果或正则表达式本身。
为什么选择 Utils365
分组一目了然
每个匹配都会显示编号分组和命名分组,方便确认 $1 或 $<year> 会得到什么。
不怕失控的模式
匹配在后台运行并有一秒时限,无限回溯的模式也不会让页面卡死。
与代码相同的引擎
使用浏览器的 JavaScript 正则引擎,结果与 Node.js 和浏览器中完全一致。
隐私至上
您的模式和文本都留在浏览器中。不会上传任何内容,可放心测试日志文件和客户数据。
常见问题
这里使用哪种正则语法?
JavaScript(ECMAScript),与浏览器和 Node.js 相同。大多数模式在其他语言中效果一样,但后行断言、命名分组和部分转义在较旧的引擎中有所不同。
g、i、m、s、u 和 y 标志有什么作用?
g 查找所有匹配,i 忽略大小写,m 让 ^ 和 $ 在每一行匹配,s 让 . 匹配换行,u 启用完整的 Unicode 支持,y 让每次匹配从上一次结束的位置开始。
如何在替换中使用捕获分组?
编号分组写 $1、$2 等,命名分组写 $<name>,整个匹配写 $&。要插入真正的美元符号,请写 $$。
为什么提示我的模式耗时太长?
有些模式,例如对长字符串使用 (a+)+,在放弃之前会尝试极其多种匹配方式。这叫灾难性回溯。让嵌套的重复更具体即可解决。
为什么只看到一个匹配?
没有 g 标志时,正则表达式在第一个匹配处就会停止。勾选“全局 (g)”即可找到全部匹配。
如何匹配字面上的点或方括号?
在前面加反斜杠:\. 匹配点,\[ 匹配方括号。其他特殊字符如 * + ? ( ) { } | ^ 和 $ 也一样。