正则体检/规范检查
检测正则表达式中的错误模式和风险,包括灾难性回溯、未锚定模式等,并提供重写建议
## 正则表达式体检工具
## 概述
正则体检工具分析正则表达式中的常见反模式、性能问题和正确性问题,帮助您编写更好、更安全、更高效的正则表达式。
## 检测的问题
### 关键问题(性能)
- **灾难性回溯**:像 `(a+)+` 这样的嵌套量词可能导致指数级时间复杂度
- **二次行为**:像 `(.*)*` 这样的模式表现出 O(n²) 性能
- **无界重复**:没有最大长度限制的贪婪量词
### 错误问题(正确性)
- **未转义的点**:使用 `. ` 时实际意思是 \. (字面点)
- **缺少锚点**:模式可以在文本的任何位置匹配
- **无效字符类**:像 `[a-Z]` 这样的范围包含意外字符
- **八进制转义**:现代正则中模糊的 ` ` 转义
### 警告问题(可读性)
- **可见的非贪婪**:`.*?` 模式可以使用否定字符类
- **冗余转义**:不必要的反斜杠如 `\-`
- **双重否定**:令人困惑的 `[^[^]]` 模式
- **模糊交替**:`a|ab` 顺序很重要
### 信息问题(风格)
- **非捕获组**:当组不被引用时建议使用 `(?:...)`
- **冗长模式**:可以简化 `ddd` 为 `d{3}`
## 检查级别
- **basic**:仅关键性能问题
- **standard**:关键 + 错误 + 警告(推荐)
- **strict**:所有问题包括风格建议
API 文档
请求端点
POST /zh/api/tools/regex-linter
请求参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| regexPattern | text | 是 | - |
| regexFlags | text | 否 | - |
| targetDialect | select | 否 | - |
| checkLevel | select | 否 | - |
| includeSuggestions | checkbox | 否 | - |
响应格式
{
"key": {...},
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}
JSON数据:
JSON数据
AI MCP 文档
将此工具添加到您的 MCP 服务器配置中:
{
"mcpServers": {
"elysiatools-regex-linter": {
"name": "regex-linter",
"description": "检测正则表达式中的错误模式和风险,包括灾难性回溯、未锚定模式等,并提供重写建议",
"baseUrl": "https://elysiatools.com/mcp/sse?toolId=regex-linter",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}
你可以串联多个工具,比如:`https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`,最多20个。
如果遇见问题,请联系我们:[email protected]