转义符号 \
把"转成字符串
var reg = "\""
console.log(reg) //"
\n 换行
var reg = "abcde\nfg"
console.log(reg) //在控制台看会换行相当于回车
\r 行结束符
\t 制表符 table的缩写 table的缩进
修饰符
reg.test() 返回值为布尔值
var reg = /abcd/
var str = 'abcde'
console.log(reg.test(str)) //true
str.match() 返回值为数组
var reg = /a/g
var str = "abcabcabc"
console.log(str.match(reg)) //["a","a","a"]
reg.exec()
exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。lastIndex就是游标的位置
var str = "abababab"
var reg = /ab/g
console.log(reg.exec(str)) //ab lastIndex = 2
方括号,括号
方括号就是一个表达式
var reg = /[1234567890][1234567890][1234567890]/g
var str = "123daf333f3333gf22"
console.log(str.match(reg)) // ["123", "333", "333"]
[^]表示非 [^a]就是第一位不是a的意思
var reg = /[^a][^b]/g
var str = "ab1cd"
console.log(str.match(reg)) //["b1", "cd"]
括号:
(abc|bcd) 匹配abc或则bcd
var reg = /(ddd|aaa)[0-9]/g
var str = "abcddd1aabaaa3"
console.log(str.match(reg)) //["ddd1", "aaa3"]
元字符
//一个元字符也代表一位
\w === [0-9A-z_] //查找单词字符
\W === [^\w] //查找非单词
\d === [0-9] //查找数字
\D === [^\d] //查找非数字
\s === [\t\n\r\v\f ] //查找空白字符串
\S === [^\s] //查找非空白字符串
单词边界
\b === 单词边界
\B === 非单词边界
var reg = /\bc/g
var str = "abc cde fgh"
console.log(str.match(reg)) //["c"]
reg = /\bcde\b/g
console.log(str.match(reg)) //["cde"]
检验首尾是否含有数字
var str = "123abc123"
var reg = /^\d|\d$/g
console.log(reg.test(str)) // true
检验首尾是否都含有数字
var str = "123abc123"
var reg = /^\d[/s/S]*\d$/g
console.log(reg.test(str)) // true
正向预查 正向断言
var str = "abaaaa"
var reg = /a(?=b)/g //查询b前面的a
console.log(str.match(reg)) //a
reg = /a(?!b)/g //查询不跟着b的a
console.log(str.match(reg)) //aaaa
匹配以http开头以com结尾
var href = window.location.href
var reg = /(http|https):\/\/.+?\.com/g
console.log(href.match(reg))
网友评论