正则表达式

一丶概念

用于规范字符串的表达式

1.验证字符串是否满足某种规则

2.从字符串中满足规则的部分提取出来

3.将字符串中满足规则的部分替换成新的部分

二丶定义

两种方式

var  reg  =  /具体的规则/

var  reg  =  new  RegExp(规则字符串)

三丶组成部分

1.字符:表示字符串组成部分的字符

普通字符:普通字符串中的字符   /abcd/

元字符:具有特殊意义的特殊字符 

\d      任意一个数字

\w      任意一个数字字母下划线

\s       一个空格

.         任意一个字符(使用时用转义\)

[ ]       匹配[ ] 中的任意一个字符

2.修饰符:修饰字符的规则

{n}     前面的字符重复n个

{n,}    前面的字符最少n个

{n,m} 前面的字符最少n个,最多m个

^       通常放在开头,表示字符串必须以他后面的字符开头

$       通常放结尾,表示字符串必须以他前面的字符结尾

|      正则中的或者     竖杠

[\u4e00-\u9fa5] - 任意一个汉字

四丶使用方法

1.验证字符串

正则.test(被验证的字符串)     检测字符串中是否有符合规则的部分 - 返回布尔值

字符串.search(正则表达式)    从字符串中查找满足规则部分在字符串中的下标,找到返回下标 找不到返回 - 1

2.提取字符串

正则.exec(字符串)

把字符串中符合规则的部分提取出来 - 返回数组,下标0就是提取结果

字符串.match(正则表达式)  也可以用来提取字符串中满足规则的部分

3.替换字符串

字符串.replace(正则,新的部分)

替换字符串只有字符串的replace方法可以实现,replace可以将满足规则的部分替换成新的部分

五丶模式修正符

var reg = /具体规则/模式修正符

g      开启贪婪模式

i       忽略大小写

var str = '3/30/2023'

// 转成2023年3月30日

var reg = /(\d+)\/(\d+)\/(\d+)/

str = str.replace(reg, '$3年$1月$2日') // 给正则中加了()在替换的时候,可以使用$1表示第一个小括号中匹配到的内容,$2表示第二个小括号中匹配到的内容

console.log(str);

// 提取字符串中除了`a`字符和`b`字符以外的所有字符

var str = 'abcd123456@#$%fasdioaefgaijhaaaa'

// [^]表示非的意思,排除掉中括号中的内容

var reg = /[^ab]+/

var result = reg.exec(str)

var result = str.match(reg)

console.log(result);

六丶案例

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值