原因:2018年3月9日 笔记 说明:读书笔记
1.1 两种模糊匹配
1.1.1 横向模糊匹配
1.1.2 纵向模糊匹配
1.2 字符组
1.2.1 范围表示法
1.2.2 排除字符组
[^abc]
来表示,该符号为脱字符1.2.3 常见的简写形式
字符组 | 字符含义 |
---|---|
\d | [0-9] |
\D | [^0-9] |
\w | [0-9a-zA-Z_] 数字、字母、下划线 |
\W | [^0-9a-zA-Z_] 非单词词组 |
\s | [\t\v\n\r\f] 空白符 |
\S | [^\t\v\n\r\f] 非空白符 |
. | 通配符 |
1.3 量词
1.3.1 简写形式
量词 | 具体形式 |
---|---|
{m,} | 至少出现m次 |
{m} | 出现m次 |
? | 等价于{0,1} 表示出现或者不出现 |
+ | 等价于{1,} 表示至少出现一次 |
* | 等价于{0,} 表示出现任意次 |
1.3.2 贪婪匹配与惰性匹配
/\d{2,5}/g
/\d{2,5}?/g
1.4 多选分支
var regex = /goodbye|good/g; var string = "goodbye";
console.log( string.match(regex) );
// => ["goodbye"]
1.5 案例分析
1.5.1 匹配16进制颜色
var regex = /#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})/g;
var string = "#ffbbad #Fc01DF #FFF #ffE";
console.log( string.match(regex) );
// => ["#ffbbad", "#Fc01DF", "#FFF", "#ffE"]
1.5.2 匹配时间
var regex = /^([01][0-9]|[2][0-3]):[0-5][0-9]$/;
console.log( regex.test("23:59") );
console.log( regex.test("02:07") );
// => true // => true
1.5.3 匹配日期
var regex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
console.log( regex.test("2017-06-10") );
// => true