ZH
我的工具

正则表达式生成器(常用模式)

为邮箱、网址、日期、IP、电话号码或您自己的词语生成正则表达式,并给出可直接粘贴的 JavaScript、Python、PHP、Java 或 C# 代码。

仅用于“精确文本”和“以下任一单词”。单词之间用逗号分隔。
您打算如何使用?
在“验证”模式下,每个非空行会分别检查。
我的工具 →
广告

从零开始写正则表达式既慢,又容易出现细微的错误。本生成器为开发者最常匹配的内容——邮箱、网址、IPv4 地址、日期、时间、电话号码、UUID 和十六进制颜色——提供经过验证的表达式,也可以根据您自己的精确文本或词语列表生成,并自动为您转义特殊字符。同时还会给出您所用语言的代码片段,以及针对您自己示例文本的实时测试。

使用方法

  1. 选择要匹配的内容,或选择“精确文本”/“以下任一单词”并输入文本。
  2. 选择查找以从较长文本中提取匹配,或选择验证以检查整个值的格式是否正确。
  3. 如果大小写无关紧要,请勾选“忽略大小写”。
  4. 按“计算”。选择您的语言并复制代码;把一些真实数据粘贴到测试框中,确认它的行为符合预期。

计算公式

查找模式:边界 + 表达式 + 边界(例如 \b…\b)。验证模式:^表达式$。

\b 或 (?<!\d) 这样的边界可以防止匹配从较长的单词或数字中间开始或结束。在验证模式下,代码使用各语言的整串检查(Python 的 fullmatch、Java 的 matches()、.NET 的 \z、PHP 的 D 修饰符),因此末尾的换行不会蒙混过关。计算在 Worker 中运行,两秒后终止。

示例

对电子邮件地址使用查找模式,表达式为 \b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b。在文本“Write to ann@example.com or bob.smith@mail.co.uk, not to bob@localhost.”中,它找到 2 个匹配:ann@example.com 和 bob.smith@mail.co.uk。bob@localhost 被跳过,因为它没有 .com 这样的点加字母的结尾。

常见问题

邮箱表达式符合 RFC 5322 吗?

不符合。这是一个有意限制的 ASCII 格式启发式规则,可能接受格式错误的地址,也可能拒绝带引号的有效地址或国际化地址。对于真实账户,请使用理解邮件格式的解析器和确认流程。

正则表达式能检查日期是否真实存在吗?

无法合理做到。日期表达式只检查格式以及月和日的范围,所以 31/02/2026 仍会通过。请用日期库解析该值,以排除不可能的日期。

为什么密码表达式只能在验证模式下使用?

因为它使用了多个先行断言,每个都要扫描整个值,检查是否含有小写字母、大写字母、数字和符号。在较长的文本中这个问题没有明确的含义,所以总是加了锚点。它检查的是组成,而不是抗猜测能力。

这些表达式在我用的语言中也能用吗?

这些表达式避免了特定引擎独有的特性。用于电话号码和普通数字的后行断言,在现代的 JavaScript、Python、PHP(PCRE)、Java 和 .NET 中均可使用。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 正则表达式生成器(常用模式). https://kakao.mobile/zh/tools/regex-generator/

MLA

“正则表达式生成器(常用模式).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/regex-generator/.

广告