正则表达式
基本语法
正则是对字符串的合法性进行校验,在正则看来所有内容都是字符串
使用//定义正则表达式: let ref = /正则表达式/
校验方法: 正则表达式.test(字符串),返回true/false
正则创建的建议
先占位后修饰 修饰不能单独存在 从左到右写
边界符
作用:限定匹配的字符的长度
表现形式: /^表达式$/
元字符
占位符
\d:代表一个数字: 0 1 2 3 4 5 6 7 8 9 也可以写成 [0-9]
\D:代表一个非数字
\w:匹配一个合法字符,合法字符有: 0-9 a-z A-Z _ 也可以写成 [0-9A-Za-z_]
\W:代表一个非法字符
\s:匹配一个空字符,空字符是指看不见内容的字符,如 空格,制表位 ,换行符
\S:匹配一个非空字符
[指定的字符范围]:匹配指定的范围中的某一个字符
.代表任意的一个字符
修饰符--量词
作用:修饰前面的字符所出现的次数
*:修饰前面的字符出现任意次
+:修饰前面的字符出现一次或多次
?:修饰前面的字符出现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)