写正则总记不住语法?元字符、字符类、量词、分组断言、锚点、修饰符 6 大类全收录,还附邮箱、手机号、IPv4、强密码等高频实例,支持关键词搜索,边查边写。
没有匹配的语法条目,换个关键词试试。
.
匹配除换行外的任意字符
\d
匹配数字 [0-9]
\D
匹配非数字
\w
匹配字母数字下划线 [a-zA-Z0-9_]
\W
匹配非单词字符
\s
匹配空白符(空格 / 制表 / 换行)
\S
匹配非空白符
\b
匹配单词边界
\B
匹配非单词边界
\n
换行符
\t
制表符
\0
空字符
\x41
十六进制字符(A)
\u4e00
Unicode 中文字符(\u4e00-\u9fa5)
[abc]
匹配 a b c 中的任意一个
[^abc]
匹配除 a b c 外的任意字符
[a-z]
匹配 a 到 z 之间的任意小写字母
[0-9]
匹配任意数字
[a-zA-Z0-9_]
匹配单词字符
*
匹配前一个字符 0 次或多次(等价 {0,})
+
匹配前一个字符 1 次或多次(等价 {1,})
?
匹配前一个字符 0 次或 1 次(等价 {0,1})
{n}
匹配恰好 n 次
{n,}
匹配至少 n 次
{n,m}
匹配 n 到 m 次
*? / +? / ??
懒惰匹配:尽可能少地匹配
(abc)
捕获分组,将 abc 作为一个整体
(?:abc)
非捕获分组,只分组不捕获
(?<name>abc)
命名分组(JS 中为 (?<name>abc))
\1
反向引用第 1 个分组
(?=abc)
正向先行断言:后面必须是 abc
(?!abc)
负向先行断言:后面不能是 abc
(?<=abc)
正向后行断言:前面必须是 abc
(?<!abc)
负向后行断言:前面不能是 abc
a|b
或运算,匹配 a 或 b
^
匹配字符串开头(多行模式匹配行首)
$
匹配字符串结尾(多行模式匹配行尾)
\b
单词边界
/pattern/g
全局匹配,找出所有匹配项
/pattern/i
忽略大小写
/pattern/m
多行模式,^ $ 匹配每行首尾
/pattern/s
点号匹配换行符
/pattern/u
Unicode 模式,正确处理中文 / Emoji
/pattern/y
粘连模式,从 lastIndex 开始匹配
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
邮箱
^1[3-9]\d{9}$
中国大陆手机号
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
日期 yyyy-MM-dd
^((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$
IPv4 地址
^https?:\/\/[^\s/$.?#].[^\s]*$
URL
^\d{17}[\dXx]$
18 位身份证
^[\u4e00-\u9fa5]+$
纯中文
^[a-zA-Z][a-zA-Z0-9_]{4,19}$
用户名(5-20 位字母开头)
^(?=.*[A-Za-z])(?=.*\d).{8,}$
强密码(字母+数字,至少 8 位)
^[0-9a-fA-F]{24}$
MongoDB ObjectId
正则表达式用极短的符号表达复杂的文本规则,功能强大,但符号密集、语义隐晦,不常写就记不住。(?<=...) 是先行还是后行、*? 到底匹配多还是少、^$ 在多行模式下的差异——这些细节每次都得回头查。
这份手册把常用语法按 6 大类整理成对照表:元字符、字符类、量词、分组与引用(含零宽断言)、锚点、修饰符,每一项都配一句人话解释,需要时直接在搜索框输入关键词(如「断言」「量词」「\d」)即可快速定位。
最后一类收录了 10+ 个高频实战正则——邮箱、手机号、日期、IPv4、URL、身份证、纯中文、用户名、强密码、MongoDB ObjectId。这些都是长期验证过的写法,复制即可用,也建议配合「正则表达式在线测试」实测后再上线。
(?=)、(?<=))只做条件判断,不消耗字符,不影响匹配位置的推进。? 变成懒惰匹配(如 *?)可避免吃过头。^、$ 默认只匹配整串首尾,加 m 修饰符才按行匹配。u 修饰符,否则可能匹配到半个字符。]、\、^、- 需要留意位置。abc+ 误当成匹配 abcabc。(?=abc) 是正向先行:要求右边紧接着 abc;(?<=abc) 是正向后行:要求左边紧挨着 abc。加感叹号 (?!...)、(?<!...) 表示否定。它们都只判断条件、不消耗字符。*、+、{n,m})会尽可能多地匹配,改写成懒惰形式(*?、+?)即可让它在满足条件时尽早结束。m 修饰符。默认情况下 ^、$ 匹配整个字符串的开头与结尾,开启多行模式后才会匹配每一行的行首行尾。u 修饰符启用 Unicode 模式,让引擎按码点而不是按字节处理,可避免匹配到半个字符。纯中文可用 ^[\u4e00-\u9fa5]+$。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!