RegExp 知识大纲:
一、正则的组成
1.1 结构
字符字面量:包括转义字符和非转义字符
字符组:匹配一个字符,多选一 eg: [0-9] 简写:\d
反义字符组:[^0-9]
匹配非数字字符 简写:\D
量词:字符连续出现的次数。 {m,n}
{1,} 可以简写为 + (至少一次)
{0,1} 可以简写为 ?
{0,} 可以简写为 *
锚:表示位置 。 ^ 表示开头 $ 表示结尾 \b 单词边界 先行断言
分组:捕获分组()、 非捕获分组(?:)
分支:abc | bcd 、 反向引用 \2 表示引用第二个分组
1.2 操作符
转义符:
括号和方括号 : () (?:) (?=) [ ]
两次限定符:{m} {m,n} {m,} ? + *
位置和序列:^ $
管道符: |
操作符优先级:从上到下,由高到低
1.3 注意要点
- 元字符
^、$、.、*、+、?、|、\、/、(、)、[、]、{、}、=、!、:、- ,
转义,字符组相关的元字符转义 - 量词 {,n} 不会报错
- ( ) 前后括号都要转义
1.4 应用
身份证号:15位连续数字 或 17位数字 + x/X
- /^( \d{15} | \d{17}[ \dxX])$/
IPV4地址 :xxx.xxx.xxx.xxx xxx的范围[0,255]
二、字符匹配
- \d 匹配一个数字 [0-9] digital 数字 \w (word) 匹配一个常用字符