目录
第二章 - 02: 前端 正则表达式 魔法 (中)--- 捕获组、反向引用
来源于:《JavaScript 忍者秘籍》
前端之路 系列 继续 来聊一聊 正则表达式!
一、预定义字符类
表示匹配一类的字符集,由正则表达式的语法提供。如下:
| 预预定术语 | 匹配内容 |
|---|---|
| . | 匹配处理新行\n之外的任意字符 |
| \s | 空白字符 |
| \S | 非空白字符 |
| \w | 可以构成单词的字符 |
| \W | 不能构成单词的字符 |
| \d | 数字 |
| \D | 非数字 |
| \b | 单词的边界 |
| \B | 不是单词的边界 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
| \f | 换页符 |
| \r | 回车符 |
| \n | 换行符 |
| \cA : \cZ | 控制符,例如\cM 匹配一个ctrl+m |
| \x0000 : \xFFFF | 十六进制的Unicode码 |
| \x00 : \xFF | 十六进制ASCII码 |
下面,我们按照上面的表格来分别写一个小 Demo
1-1 : “ . ” 的意思
除了空格和换行符以外的所有字符 eg:
var reg = /./g
var str = 'x'
var str2 = 123
var str3 = ' '
var str4 = '\n'
var str5 = '\r'
var res = reg.test(str) // true
var res2 = reg.test(str2) // true
var res3 = reg.test(str3) // false
var res4 = reg.test(str4) // false
var res5 = reg.test(str5) // false
1-2 : “ \s ” 的意思
匹配空白字符 (space) eg:
var reg = /\s/g
var str = 'x'
var str2 = ' '
var str3 = '\n'
var str4 = '\r'
var str5 = '\r\n'
var res = reg.test(str) // false
var res2 = reg.test(str2) // true
var res3 = reg.test(str3) // false
var res4 = reg.test(str4) // true
var res5 = reg.test(str5) // true
// 又疑惑了