正则的知识点:
1.创建实例:
var reg = new RegExp(pattern, flag) ("/\d+/", g)
2.flag 标识符
1. i : 忽略大小写匹配
2. m:多行匹配
3. g: 全局匹配(应用与所有, 而不是找到第一个就停止)
3. 第一段知识点
1. [] [xyz] xyz中任意一个字符 等价于[x-z]
2. [^] [^xyz] 匹配任意不在xyz中的一个字符,等价于[^x-z]
(注意与^x区分,后者表示匹配以x开头的字符)
3. [-] [1-3] 匹配123中的任意一个字符,等价于[123]。
注意:连字符只有出现在方括号中才表示连续的字符序列。
4. x|y 匹配 x 或 y
5. () : 分组
6. . : 除了换行符\n之外的任意一个字符
7. \ : 转义字符
4. 第二段知识点
1. \d 数字0-9,等价于 [0-9]
2. \D 非数字字符,等价于[^0-9]
3. \w 字母数字下划线,等价于[A-Za-z0-9_]
4. \W 非字母数字下划线,等价于[^A-Za-z0-9_]
5. \s 空白,可以理解成空格
6. \S 非空白
5. 第三段知识点
// 1. ^ ^a 以a开头(注意与[^]区分,后者表示匹配不在[^]中的元素)
// 2. $ a$ 以a结尾
6. 第四段知识点
1. {n,m} 匹配前一项至少n次,但不能超过m次
2. {n,} 匹配前一项n次或更多次
3. {n} 匹配前一项正好n次
4. ? 匹配前一项0次或者1次,也就是说前一项是可选的,等价于{0,1}
5. + 匹配前一项1次或多次,等价于{1,}
6. * 匹配前一项0次或多次,等价于{0,}
7. x(?=y) 只有x后面紧跟着y时,才匹配x,但是y不是匹配结果的一部分。
8. x(?!y) 只有x后面不紧跟着y时,才匹配x。
7. 第五段知识点
匹配汉字
var str = "李博 李博落枕了"
var reg = /\u674e\u535a/g
alert(str.match(reg))
// /[\u4e00-\u9fa5]/g
var str = "沆瀣一气 茕茕孑立"
var reg = /[\u4e00-\u9fa5]/g;
alert(str.match(reg))
8.\b \b : 匹配单词的开始或结束