正则速查表

105 阅读2分钟

--- JavaScript 正则表达式迷你书--抄记

强烈推荐,超容易理解的正则入门书籍

字面量

说明模式
匹配 NUL 字符\0
匹配水平制表符\t
匹配垂直制表符\v
匹配换行符\n
匹配回车\r
匹配换页符\f
匹配拉丁字符 \x0A 等价于 \n\xnn
匹配Unicode 字符\uxxxx
匹配 ctrl + X\cX
匹配 Backspace 键(特殊记忆)[\b]

字符组

说明模式
匹配 abc 字符中 其中一个[abc]
匹配 abcd 1234 字符其中一个[a-d1-4]
匹配除 abc 之外[^abc]
通配符,匹配除了少数字符 \n之外的任意字符.
匹配数字 [0-9]\d
匹配非数字 [0-9]之外\D
匹配单词字符 [a-zA-Z0-9_]\w
匹配非单词字符 [ ^ a-zA-Z0-9_]\W
匹配空白字符 [\t\v\n\r\f]\s
匹配非空白字符 [ ^\t\v\n\r\f]\S

量词

说明模式
连续出现 n 到 m 次,贪婪模式{n,m}
至少连续出现 n 次,贪婪模式{n,}
连续出现 n 次,贪婪模式{n}
等价于{0,1},贪婪模式?
等价于{1,},贪婪模式+
等价于{0,},贪婪模式*
连续出现n 到m次,惰性模式{n,m}?
至少连续出现 n 次,惰性模式{n,}?
连续出现n 次 惰性模式{n}?
等价于{0,1}?,惰性模式??
等价于{1,}?,惰性模式+?
等价于{0,}?,惰性模式*?

位置

说明模式
匹配开头^
匹配结尾$
匹配单词边界,即\w与非\w的交接位置\b
匹配非单词边界,\w与\w,与不与\w接触的边界\B
匹配 ‘abc’ 前面的位置,没有找到test返回false(?=abc)
匹配非 ‘abc’ 前面的位置(?!abc)
匹配非纯数字(?!^\d{6,12}$)

括号的作用

说明模式
捕获分组(ab)
非捕获分组(?:ab)
捕获型分支结构(good|nice)
分捕获型分支结构(?:good|nice)
反向引用。 \2 表示第二个捕获分组捕获的字符\num

修饰符

说明模式
全局匹配g
忽略大小写i
多行模式 把^$作为行开头/行结尾m
Unicode模式u
粘连模式y
元字符模式s

String相关实例方法

属性方法说明
search返回正则匹配到的第一个字串在目标字符串的下标位置
splice以正则匹配到的字串,对目标字符串精选切分,返回一个数组
match返回正则匹配结果,数组中包含具体匹配信息
replace对匹配到的字符串,替换

可使用捕获文本替换 11-99

RegExp实例方法

属性方法说明
exce比mathc更强大的正则匹配操作,返回结果与match一致
test匹配字符串是否满足正则,返回布尔值