正则表达式在线测试

输入正则和文本,匹配的部分会立即高亮显示。

输入的文字和文件不会发送到服务器,只在本浏览器中处理。

匹配高亮
匹配列表
#位置匹配内容分组

$1、$2 表示编号分组,$<名称> 表示命名分组,$& 表示整个匹配。关闭 g 时只替换第一个。

常用正则符号
.除换行外的任意一个字符
\d数字 0~9
\w字母、数字、下划线
\s空格、制表符、换行
\b单词边界
^文本(或行)的开头
$文本(或行)的结尾
*前一项出现0次或多次
+前一项出现1次或多次
?前一项可有可无
{n,m}前一项出现n~m次
[abc]a、b、c 中的一个
[^abc]除 a、b、c 外的一个字符
(…)编号分组(捕获)
(?:…)只分组不捕获
(?<name>…)命名分组
a|ba 或 b
(?=…)后面紧跟…的位置
(?!…)后面不是…的位置
\1再次匹配第1组的内容

使用方法

  1. 在「正则表达式」中输入正则,并按需开启 g、i、m 等修饰符。粘贴 /正则/gi 这种写法时,会自动拆分出修饰符。
  2. 在「测试文本」中输入内容,右侧会高亮显示匹配部分,下方表格列出每个匹配的位置和分组值。
  3. 在「替换为」中填写 $1、$<名称> 等替换字符串,即可立即看到替换后的结果。
  4. 第一次使用可以点「填入示例」,加载一个匹配邮箱地址的正则,逐步修改试试看。

常见问题

使用的是哪种正则语法?

直接使用浏览器的JavaScript(ECMAScript)正则,支持命名分组、后行断言以及Unicode属性(\p{L},需开启 u)。与PHP、Python大部分相同,但个别语法可能有差异。

页面会不会卡死?

匹配在独立的Web Worker中运行,超过1.5秒会自动中止,匹配数量也最多显示1,000个,所以即使文本很长或正则存在严重回溯,页面也不会卡住。

输入的内容会上传到服务器吗?

不会。正则和文本都只在当前浏览器中处理。

相关工具

全部工具