基本语法
正则是对字符串的合法性进行校验,在正则看来所有内容都是字符串
学习正则表达式就是学习它的元字符
使用//定义正则表达式: let ref = /正则表达式/
校验方法: 正则表达式.test(字符串),返回true/false
- 正则创建的建议
先占位后修饰
修饰不能单独存在
从左到右写
- 边界符
作用:限定匹配的字符的长度
表现形式: /^表达式$/
元字符
- 占位符
说明这里需要一个指定类型的字符
数字
大写字母
小字字母
空字符
下划线
其它字符
\d:代表一个数字: 0 1 2 3 4 5 6 7 8 9
【0-9】
\w:匹配一个合法字符,合法字符有: 0-9 a-z A-Z _
【0-9A-Za-z_】
\s:匹配一个空字符,空字符是指看不见内容的字符,如 空格,制表位 ,换行符
\S:匹配一个非空字符
\D:代表一个非数字
\W:代表一个非法字符
[指定的字符范围]:匹配指定的范围中的某一个字符
.:代表任意的一个字符
修饰符--量词
作用:修饰前面的字符所出现的次数
*:修饰前面的字符出现任意次
+:修饰前面的字符出现一次或多次
?:修饰前面的字符出现0次或1次
{n}:修饰前面的字符出现n次
{n,m}:修饰前面的字符最少出现n次,最多m次
{n,}:修饰前面的字符最少出现n次,最多 没有限制
转义:\
- 将元字符当成普通字符来处理
改变优先级:()
常用方法
test:进行匹配验证
replace:替换
是字符串的方法,只不过方法可以传递正则表达式做为参数
g表示全局匹配:匹配全部的内容
let str = '23141241324123423112'
// 将里面的1全部干掉---将1替换为''
let reg = /1/g // g全局,匹配所有
str = str.replace(reg, '')
// str = str.replaceAll(reg, '')
console.log(str)
exec
侧重是匹配之后的字符串提取
调用这个方法如果成功返回一个数组,否则返回null
提取:如果想提取字符串,就将你想提取的字符串的正则表达式部分,使用()包含
let email = 'wuhu0723@126.com'
let reg = /^(\w{1})(\w+)[@]((\w+)[.](\w+))$/
let obj = reg.exec(email)
console.log(obj)