从示例生成正则
为订单号、发票参考号或日期手写正则既繁琐又容易出错。粘贴一个符合你想识别格式的示例字符串,本工具会从左到右读取它,将每一段连续的数字、大写字母和小写字母转换为长度合适的字符类,并把标点和符号保留为字面字符。你会得到一个带锚点的模式作为起点,再手动细化。
工作原理
-
1
输入一个示例
键入或粘贴一个代表你想识别格式的示例字符串,例如 `Order #12345 placed on 2026-04-16`。
-
2
生成模式
工具逐字符遍历示例,并将每一段同类字符替换为带其长度的字符类。
-
3
阅读拆解
模式下方会有一份组件列表解释每个部分,让你看清哪一段识别的是数字、字母还是字面文本。
-
4
复制并细化
将该模式作为起点。手动调整固定长度或字符类,使其覆盖你真实数据的完整范围。
模式是如何构建的
工具从左到右读取示例。每当遇到一段同类字符,就输出一个与该段等长的字符类:
- 一段数字变为
\d{n},其中n是数字个数 - 一段大写字母
A-Z变为[A-Z]{n} - 一段小写字母
a-z变为[a-z]{n} - 单个空格变为
\s,多个空格变为\s{n} - 其他所有字符(标点、符号、带重音或非拉丁字母)都保留为转义的字面字符
生成的模式会用 ^ 和 $ 包裹,以便从头到尾匹配整个字符串,而不仅仅是其中一段。
示例
对于示例 Order #12345 placed on 2026-04-16,工具生成:
/^[A-Z]{1}[a-z]{4}\s\#\d{5}\s[a-z]{6}\s[a-z]{2}\s\d{4}\-\d{2}\-\d{2}$/
Order 是一个大写字母后跟四个小写字母;12345 变为 \d{5};日期 2026-04-16 变为 \d{4}\-\d{2}\-\d{2}。
它能做什么,不能做什么
- 长度是固定的。
12345变为\d{5},它匹配的正好是五位数字,而不是“一位或多位”。如果你的数据中数量会变化,请手动把{5}改为+或像{3,8}这样的范围。 - 它基于单个示例工作。 它反映你所给的那一个字符串的结构,因此无法自行从多个示例中归纳。请给它最有代表性的字符串。
- 只有
A-Z和a-z才算字母。 带重音和非拉丁字符会保留为字面字符;如果你想让它们匹配更大的集合,请换成像\w或\p{L}这样的字符类。 - 正则无法表达一切。 像配对括号这样的东西超出了任何正则的能力范围,无论你给多少示例。对于嵌套结构,你需要的是解析器,而不是模式。
一个好的工作流程
- 从一个清晰、有代表性的示例生成模式。
- 在长度会变化的地方放宽固定长度(
{5}改为+或{3,8})。 - 把模式粘贴到正则测试器中,用更大的一组真实字符串测试。
- 反复调整,直到它匹配所有该匹配的,而不匹配任何不该匹配的。
常见问题
一个。生成器读取单个示例字符串并反映其结构。请选择最能代表你格式的字符串,然后为其他情况手动扩展模式。
工具会数出你示例中确切的字符数,所以五位数字变为 \d{5}。如果真实数据中数量会变化,请把 {5} 换成 +、* 或像 {3,8} 这样的范围。
锚点让模式从头到尾匹配整个字符串。如果你想在更长的文本中查找该模式,请去掉它们。
它把 A-Z 和 a-z 识别为字母。其他任何字符,包括带重音字母、西里尔字母或中日韩字符,都会保留为字面字符。如果你想匹配更多,请手动换成像 \w 或 \p{L} 这样的字符类。
标准语法(\d、[A-Z]、{n}),在 PCRE、JavaScript、Python 以及大多数引擎中无需改动即可使用。
相关工具
ASCII 表参考
完整 ASCII 表,覆盖 0 到 127;列出每个代码的十进制、十六进制、八进制、二进制值和 HTML 数字字符引用写法,包括 NUL、LF、DEL。
HTML 字符参考
可搜索的 HTML 实体列表,含命名代码与数值代码,并支持一键复制特殊字符和符号。
键盘快捷键参考
搜索 macOS、Windows 和 Linux 上 VS Code、Chrome 以及使用 GNU Readline 的 Bash 的文档默认快捷键。
邮箱验证器
验证邮箱地址:RFC 5322 语法检查、实时 MX 记录查询,并显示本地部分、域名和长度详情。不会发送任何邮件。
EditorConfig 生成器
按你的缩进、换行符和字符集规则生成 .editorconfig,再为仓库里的每种语言加上正确的区块:Python、Go、YAML、Makefile 等等。
证书解码器
粘贴一张 X.509 PEM 证书,并查看解码后的字段:主体、颁发者、序列号、签名算法、有效期及主体备用名称(SAN)。
此工具还提供其他语言版本
- Generador de Regex a partir de una muestra [ES]
- サンプルから正規表現を生成 [JA]
- Regex-Generator aus Beispiel [DE]
- Regex-generator från exempel [SV]
- Générateur de Regex à partir d'un exemple [FR]
- 샘플로 정규식 생성 [KO]
- Gerador de Regex a partir de um exemplo [PT]
- مولّد Regex من عيّنة [AR]
- Regex-generator uit voorbeeld [NL]
- Trình tạo Regex từ mẫu [VI]
- Generator Regex dari Contoh [ID]
- Generator Regex z przykładu [PL]
- ตัวสร้าง Regex จากตัวอย่าง [TH]
- Generatore di Regex da un esempio [IT]
- Генератор Regex из примера [RU]
- Örnekten Regex Oluşturucu [TR]
- Regex Generator from Sample [EN]