/blog/ · 狩猎手记

Regex Hunter 博客:常用正则表达式

开箱即用的常用正则详解:邮箱、URL、日期、电话号码、IP 地址等,每个都说明能覆盖的边界情况和会漏掉的情况。

第 1–5 篇,共 5 篇 · 总计 16 篇

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$/

Secret123aB3defghTr0ub4dor9Lives_cat·secret123SECRET123SecretpassAb1

常用正则

用正则先行断言校验密码规则(以及何时不该这么做)

如何用先行断言在一个正则表达式里检查“至少一个大写字母、一个数字、八个字符”,为什么不限顺序的写法离不开它们,常见正则里有哪些陷阱,以及为什么把每条规则分开检查往往是更好的设计。

Regex Hunter 标志Regex Hunter

/^(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/

042199255·256300071000

常用正则

IPv4 地址的正则表达式:正确匹配 0 到 255

IPv4 地址由四个 0 到 255 的数字组成。本文讲解为什么显而易见的 \d{1,3} 写法会放过 999.999.999.999,如何用分支匹配一个八位组,前导零该怎么处理,以及如何在文本中找出地址。

Regex Hunter 标志Regex Hunter

/^https?://\S+$/

https://a.iohttp://x.com/phttps://b.dev?q=1·ftp://x.comwww.x.comhttp:/x.com

常用正则

URL 正则:该匹配什么,什么该交给解析器

在文本中查找链接和校验一个 URL 是两件不同的事。本文为两者各给出一个正则,讲解让坏 URL 混过去的陷阱(末尾标点、未转义的点、缺失的锚点),以及何时该把工作交给 new URL() 或 urllib。

Regex Hunter 标志Regex Hunter

/^\d{3}[-. ]?\d{3}[-. ]?\d{4}$/

555-123-4567555.123.45675551234567·555-123455-123-4567555-123-456

常用正则

电话号码正则:美国格式、E.164,以及何时该停手

同一个电话号码,人们能输入出十几种写法。本文介绍如何匹配带短横线、点、空格、括号和可选 +1 的美国号码,如何检查国际 E.164 格式,以及为什么真正的校验需要借助库。

Regex Hunter 标志Regex Hunter

/^[^\s@]+@[^\s@]+\.[^\s@]+$/

ana@site.comx+t@site.iojo@mail.co.uk·ana@example@site.coma@@b.io

常用正则

邮箱正则:可直接复制、真正好用的写法

三个可直接复制的邮箱正则(简单、实用和严格),各自适合什么场景,以及会把真实地址拒之门外的常见错误。

Regex Hunter 标志Regex Hunter

今日棋盘已上线

学会了技巧,现在去狩猎吧。

抓住每个怪物,放过每个无辜者——字符越少越好。