togotools.top 技术参考
技术参考
在浏览器本地实时测试正则表达式,查看匹配结果、捕获组和替换预览,支持全局、忽略大小写、多行等常用标志位,所有匹配运算均在本地完成。
标志与语法
| g(全局) | 匹配所有结果,不只匹配第一个 |
|---|---|
| i(忽略大小写) | 大小写不敏感匹配 |
| m(多行) | ^ 和 $ 匹配每行的开头和结尾 |
| s(dotAll) | 允许 . 匹配换行符 |
| u(Unicode) | 正确处理 Unicode 码点和 astral 字符 |
示例:提取键值对
捕获组用 $1、$2 引用,可在替换框中直接使用。命名捕获 (?<key>...) 在支持的引擎中可用 $<key> 引用。
正则:(\w+):(\w+)
输入:name:ada age:30 city:berlin
匹配:
name:ada -> $1=name $2=ada
age:30 -> $1=age $2=30
city:berlin -> $1=city $2=berlin使用边界
- 本工具使用 JavaScript 正则引擎,部分语法(如后向引用、原子组)与 PCRE/Python/Java 有差异。
- 超大输入文本(超过 1MB)可能导致匹配变慢或浏览器卡顿。
- 灾难性回溯(ReDoS)在复杂嵌套量词中可能发生,避免 (a+)+ 等模式。
常见问题
为什么我的正则在 Python 里能用但这里不行?
JavaScript 正则不支持部分 PCRE 特性,如后向引用 (?<=...)、命名组的 (?P<name>...) 语法(JS 用 (?<name>...))。请按 JavaScript 语法调整。
支持 Unicode 属性转义吗?
支持。开启 u 标志后可使用 \p{Letter}、\p{Number} 等属性转义。需要现代浏览器(ES2018+)。