← 返回
未分类

正则表达式生成

QQQ
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 87
下载
💾 0
安装
1
版本
#latest

概述

Regex Generator — 正则表达式生成

Use when the user mentions 正则表达式、正则、regex、regexp、文本匹配、pattern matching, or asks to create a regex pattern. NOT for 代码编写、文本编辑器使用、数据清洗脚本.

描述

根据用户的自然语言描述自动生成正则表达式,附带逐段解释、测试案例和常见变体,解决"正则语法难记、每次都要查文档"的开发效率问题。

重要限制(请提前告知用户)

  • 需要描述匹配规则:请说明要匹配什么格式/内容,举例最佳
  • 引擎差异:JavaScript/Python/Java的正则语法略有不同,请说明使用环境
  • 不执行匹配:只生成正则表达式,需用户在自己的环境中测试
  • 复杂逻辑有限:极复杂的文本解析建议结合代码逻辑,不要只靠正则

快速开始

用户:帮我写一个匹配手机号的正则
→ 生成正则 + 解释 + 测试案例

用户:匹配邮箱地址
→ 生成邮箱正则,说明覆盖范围和局限

用户:这个正则是什么意思?[粘贴正则]
→ 逐段解释每个符号的含义

用户:我要提取文本中的所有日期
→ 生成日期匹配正则,支持多种日期格式

用户:正则匹配不到,帮我看看哪里错了
→ 分析问题原因,提供修复方案

能力

  • 自然语言描述转正则表达式
  • 逐字符解释已有正则的含义
  • 提供正向和反向测试用例
  • 支持多种引擎语法(JS/Python/Java/Go)
  • 正则调试和错误修复
  • 常用正则速查(手机/邮箱/身份证/URL等)

执行步骤

Step 1: 理解需求

  1. 确认要匹配的文本格式
  2. 获取正确示例和错误示例
  3. 确认使用的编程语言/工具

Step 2: 生成正则

  1. 编写正则表达式
  2. 标注可选和必选部分
  3. 提供宽松版和严格版

Step 3: 解释验证

  1. 逐段解释正则含义
  2. 用测试用例验证正确性
  3. 列出边界情况

Step 4: 使用指导

  1. 提供对应语言的调用代码
  2. 说明注意事项
  3. 推荐在线测试工具

输出格式

🔤 正则表达式生成
━━━━━━━━━━━━━━━━━━━━
需求:[匹配描述]
环境:[JavaScript/Python/其他]

## 正则表达式
/^1[3-9]\d{9}$/

## 逐段解释
| 片段 | 含义 |
|------|------|
| ^ | 字符串开头 |
| 1 | 以数字1开头 |
| [3-9] | 第二位是3-9 |
| \d{9} | 后面跟9位数字 |
| $ | 字符串结尾 |

## 测试用例
✅ 匹配:13812345678、15900001111、18612345678
❌ 不匹配:12345678901、1381234567、手机号13812345678

## 代码示例(JavaScript)
const regex = /^1[3-9]\d{9}$/;
regex.test('13812345678'); // true

## 代码示例(Python)
import re
pattern = r'^1[3-9]\d{9}$'
re.match(pattern, '13812345678')  # Match

## ⚠️ 注意事项
- 此正则不验证号段是否真实存在
- 不匹配带区号/空格的格式(如+86 138...)
- 如需更宽松匹配,去掉^和$锚点

输出原则

  1. 先给结果后解释:正则表达式放最前面,急用可直接复制
  2. 逐段拆解:每个符号都解释,不假设用户懂正则语法
  3. 正反用例:同时给出能匹配和不能匹配的例子
  4. 标注边界:说明正则的覆盖范围和局限性
  5. 提供代码:附上对应语言的使用代码

错误处理

异常场景提示语
------------------
需求描述太模糊"💬 请举几个例子:哪些文本应该匹配?哪些不应该匹配?"
正则报错"🔧 请告诉我错误信息和使用环境(JS/Python/Java),我来诊断问题"
需求互相矛盾"🤔 这两个要求似乎冲突:要匹配A但排除B中的A。请确认优先级"
匹配过于宽泛"⚠️ 当前正则可能匹配到不想要的内容。需要我加更严格的限制吗?"
性能问题"⏱️ 这个正则可能导致回溯灾难(catastrophic backtracking),建议简化或改用代码逻辑"

常见问题(FAQ)

Q: 不同编程语言的正则一样吗?

A: 基本语法相同,但有细微差异(如Python用r前缀,JS用/包裹)。告诉我语言,我给对应写法。

Q: 正则能匹配中文吗?

A: 可以。用 [\u4e00-\u9fa5] 匹配中文字符,或用 \p{Han}(部分引擎支持)。

Q: 怎么测试正则对不对?

A: 推荐在线工具 regex101.com,可实时测试和查看匹配结果。

Q: 正则太复杂记不住怎么办?

A: 复杂正则建议加注释。Python支持 re.VERBOSE 模式,可以分行写注释。

Q: 贪婪匹配和非贪婪匹配怎么选?

A: 默认贪婪(匹配尽可能多)。加?变非贪婪(匹配尽可能少)。不确定就用非贪婪更安全。

最佳实践

  1. 先举例后写正则:先明确"什么该匹配什么不该匹配"
  2. 从简单开始:先写能用的,再逐步加限制条件
  3. 测试边界情况:空字符串、超长字符串、特殊字符
  4. 注释复杂正则:半年后能看懂
  5. 考虑性能:避免嵌套量词(如(a+)+)

不适用场景

场景原因替代方案
----------------------
HTML/XML解析正则不适合解析嵌套结构使用DOM解析器
自然语言处理正则无法理解语义使用NLP工具
大规模数据清洗需要完整的ETL流程使用Python/Pandas
密码验证(生产环境)安全需求建议后端验证结合后端逻辑

常见误用

  • 误用 1:用正则解析HTML → 用专门的HTML解析库
  • 误用 2:不说明使用环境 → 不同语言语法有差异
  • 误用 3:期望一个正则匹配所有情况 → 复杂场景用多个正则或代码

安全与隐私

  • 不存储用户的正则表达式和测试数据
  • 注意:正则中不要硬编码敏感信息
  • 生产环境的正则建议安全审查(防止ReDoS攻击)
  • 不收集用户的文本数据

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-05-24 10:11 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

office-efficiency

Excel公式生成

user_70c2f807
根据用户的自然语言描述自动生成Excel/WPS/Google Sheets公式,附带逐层解释、使用示例、防错版本和版本兼容对照,解决"不会写复杂公式、每次都要百度"的办公效率痛点。
★ 1 📥 808
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 197 📥 67,971
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 681 📥 329,523