正则表达式测试器
实时测试正则表达式:输入时即高亮匹配结果,显示捕获组和位置,支持所有JavaScript标志,并提供常用模式库。
免费 在浏览器中运行 无需注册
正在加载正则表达式测试器…
您的文件绝不离开您的设备
如何使用正则表达式测试器
- 1
在此页面打开正则表达式测试器,它直接在浏览器中加载。
- 2
添加文件、文本或数值,并调整设置。
- 3
复制或下载结果。不会上传或存储任何内容。
关于此工具
这款正则表达式测试器可让你在自己的文本上编写和调试正则表达式。输入模式和测试文本,每个匹配都会立即高亮,并在下方列出位置和捕获组。如果模式无效,会马上显示错误。模式使用JavaScript正则表达式语法,与大多数其他语言的语法非常接近。
如何测试正则表达式
- 输入模式,不需要两侧的斜杠。
- 开启所需的标志。
- 粘贴或输入要测试的文本。
- 查看高亮的匹配及详情:匹配文本、索引和每个捕获组。
- 如需保留,可下载结果。
正则标志说明
- g(全局):查找所有匹配,而不是在第一个匹配处停止。
- i(忽略大小写):A和a视为相同。
- m(多行):^和$匹配每一行的开头和结尾。
- s(dot all):点号也匹配换行符。
- u(unicode):正确处理表情符号和基本范围之外的字符。
- y(粘连):只在上一次匹配结束的位置进行匹配。
语法速查
| 模式 | 含义 |
|---|---|
| \d \w \s | 数字、单词字符、空白字符 |
| [abc] [^abc] | a、b或c中的任意一个;除a、b、c以外的任意字符 |
| a* a+ a? | 零次或多次、一次或多次、零次或一次 |
| a{2,4} | 2到4次 |
| ^ $ | 字符串的开头和结尾(使用m时为每行) |
| (abc) | 捕获组 |
| (?:abc) | 非捕获组 |
| a|b | a或b |
常用模式
内置模式库提供邮箱地址、网址、电话号码、日期和IP地址等常用模式。加载后按你的具体规则调整即可。请注意,正则表达式只检查格式,并不能确认地址或号码是否真实存在。
调试技巧
- 需要按字面匹配 . * + ? ( ) [ ] { } 等特殊字符时,用反斜杠转义。
- 贪婪与非贪婪:.* 会尽可能多地匹配;.*? 在第一次可以停止时就停止。
- 需要整个输入都匹配时,用^和$锚定模式。
- 测试边界情况:空输入、超长输入和不常见的字符。
所有操作都在浏览器中完成,日志文件和私人数据都留在你的设备上。匹配前需要清理文本?删除重复行工具和JSON格式化工具可以帮上忙。
常见问题
这个测试器使用哪种正则语法?
JavaScript(ECMAScript)正则表达式,与浏览器使用的引擎相同。大部分语法与Python、Java、PHP和.NET相通,但部分高级功能有所不同。
需要在模式两侧加斜杠吗?
不需要。只输入模式本身,例如\d+,并通过复选框开启标志,而不是写在斜杠后面。
如何查看捕获组?
把模式的一部分放在括号中。匹配详情会列出每次匹配中每个组的值。
为什么我的正则匹配了太多内容?
*和+等量词默认是贪婪的。加一个问号(*?或+?)使其变为非贪婪,或使用更具体的字符类。
为什么只得到一个匹配?
开启g(全局)标志即可找到所有匹配,而不仅仅是第一个。
我的测试文本会被发送到别处吗?
不会。匹配在浏览器中进行,你测试的文本不会离开你的设备。
