正则表达式在线测试
输入正则和文本,匹配的部分会立即高亮显示。
输入的文字和文件不会发送到服务器,只在本浏览器中处理。
匹配高亮
匹配列表
| # | 位置 | 匹配内容 | 分组 |
|---|
$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|b | a 或 b |
| (?=…) | 后面紧跟…的位置 |
| (?!…) | 后面不是…的位置 |
| \1 | 再次匹配第1组的内容 |
使用方法
- 在「正则表达式」中输入正则,并按需开启 g、i、m 等修饰符。粘贴 /正则/gi 这种写法时,会自动拆分出修饰符。
- 在「测试文本」中输入内容,右侧会高亮显示匹配部分,下方表格列出每个匹配的位置和分组值。
- 在「替换为」中填写 $1、$<名称> 等替换字符串,即可立即看到替换后的结果。
- 第一次使用可以点「填入示例」,加载一个匹配邮箱地址的正则,逐步修改试试看。
常见问题
使用的是哪种正则语法?
直接使用浏览器的JavaScript(ECMAScript)正则,支持命名分组、后行断言以及Unicode属性(\p{L},需开启 u)。与PHP、Python大部分相同,但个别语法可能有差异。
页面会不会卡死?
匹配在独立的Web Worker中运行,超过1.5秒会自动中止,匹配数量也最多显示1,000个,所以即使文本很长或正则存在严重回溯,页面也不会卡住。
输入的内容会上传到服务器吗?
不会。正则和文本都只在当前浏览器中处理。