正则构成:元字符和修饰符正则含义:正则是专门用来处理字符串的一种技术 。
这个处理包含两方面的:
1.正则匹配,判断某一个字符串是否符合规则
2.正则捕获,把符合规则的字符串捕获到
创造正则的两种方式:字面量和构造函数
let obj={}//字面量
let obj2=new Object()//构造函数
正则匹配
let obj={qq:'hello'}
let reg=/jchckhello/
let t_str=JSON.stringify(obj); //使用对象方法把对象转为字符串
console.log(reg.test(t_str))
let str='cjdskhlhello'
let reg=/hello/
console.log(reg.test(str))//true//test是正则类的原型上的方法//使用正则reg去匹配str,满足返回true
正则构成:元字符和修饰符
元字符
双斜杠里面的东西,我们称为元字符。
- 特殊元字符:
-
- \d 匹配0-9的任意一位数字
- \D 匹配除了0-9数字以外的任意字符
-
- \w 匹配数字,字母,_ 中的任意一个字符串
- \s 匹配一个空白符(空格,\t制表符)
-
- \b 匹配单词的边界 'zhufeng' z的左侧,u的右侧,f左侧,g的右侧是边界
- \n 匹配一个换行符
-
- . 不是小数点,是匹配除\n 以外的任意字符串
- \. 表示 . 的意思
- \转义符,将普通的字符串转义成特殊的元字符,例如\d 就表示0-9之间的字符串;还可以将特殊的元字符转义成普通元字符。如. 不再表示除\n以外的任意字符,而是表示普通小数点
-
- ^表示以某个元字符开头
- $ 表示以某个元字符结尾
-
- x|y 表示x或者y中的任意一个
- [xyz] 表示x/y/z 中的任意一个
-
- [a-z] a-z中的任意一个字母
- [0-9] 0-9中的任意一个数字
-
- [^a-z] 除了a-z以外的任意字符
- () 正则分组 还可以提升优先级
-
- (?:) 当前分组值匹配不捕获
- (?=)正向预查
-
- (?!) 反向预查
- 量词元字符:表示出现次数的元字符
-
<