--- 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 | 对匹配到的字符串,替换
可使用捕获文本替换 1−99 |
RegExp实例方法
属性 | 方法说明 |
---|
exce | 比mathc更强大的正则匹配操作,返回结果与match一致 |
test | 匹配字符串是否满足正则,返回布尔值 |