正则基础
() [] {} 区别
- () 是分组
- [] 是字符集 是一个范围 [0-9] 意思就是匹配0到9 之间的数字
- {} 代表前面匹配的长度
^ 两种用法
- 限定开头
- 取反 (只有在字符集中 才是取反的意思)eg: [^a] 意思是匹配不是a 的
es6正则
断言
srcReg = /(?<= src=('|"))[^\s]+(?='|")/ig //匹配src 内的值
- 先行断言(?= )
/x(?=y)/ x只有在y前面才匹配
/\d+(?=%)/ 只匹配百分号之前的数字 - 先行否定断言(?! )
/x(?!y)/ x只有不在y前面才匹配
/\d+(?!%)/ 只匹配不在百分号之前的数字
/\d+(?=%)/.exec('100% of US presidents have been male') // ["100"]
/\d+(?!%)/.exec('that’s all 44 of them') // ["44"] - 后行断言 (?<=)
/(?<=y)x/ x只有在y后面才匹配
/(?<=$)\d+/ 只匹配美元符号之后的数字 - 后行否定断言
/(?
/(?<!$)\d+/ 只匹配不在美元符号后面的数字
/(?<=$)\d+/.exec('Benjamin Franklin is on the 100 bill') // ["100"]<br> /(?<!\)\d+/.exec('it’s is worth about €90') // ["90"]