js知识点之正则表达式

正则表达式

创建正则对象

// 构造函数
new RegExp('规则', '标识')
// 字面量书写
/规则/标识

正则常用方法

// reg是正则对象
reg.test('字符串'); // 验证字符串是否满足规则
// reg是正则对象,str是字符串
str.replace(reg, '替换目标'); // 将字符串中匹配正则的部分替换为目标

// 将字符串中匹配正则的部分传入到回调函数的参数中,将函数的返回结果进行替换
str.replace(reg, function(s){
  return '替换目标'
})

标识

标识字符含义
i不区分大小写
g全局匹配,如果没有此标识,只会匹配第一个
m多行匹配

规则

详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

字符匹配规则

规则书写含义
直接书写一个普通字符匹配书写的字符
[字符规则]匹配[]中出现的所有字符规则
[^字符串规则]匹配[]中没有出现的字符规则
.匹配任意字符
\d匹配数字,等价于 [0-9]
\D匹配非数字
\s匹配空白字符,包括空格、回车、换行、制表
\S匹配所有非空白字符
\w匹配单词字符,等价于 [A-Za-z0-9_]
\W匹配非单词字符,等价于 [^A-Za-z0-9_]
^匹配字符串开始,写到规则开始位置
$匹配字符串结束,写到规则结束位置
\\匹配\

连续的规则

多个规则可以连续书写,用以匹配多个字符,例如:

/\d[a-zA-Z]/  // 匹配以1个数字紧跟一个字母

若多个规则是一个或者的关系,使用|分割

/\d[a-zA-Z]|[a-zA-Z]\d/ // 匹配以1个数字紧跟一个字母,或者一个字母紧跟一个数字

规则的重复(量词)

一个或一段规则之后,可以紧跟一个量词,表示前面的规则出现的次数

/[a-zA-Z]\d{3}/  // 匹配1个字母,后面跟上连续的3个数字,{3}是量词,应用的规则是\d
/([a-zA-Z]\d){3}/  // {3}是量词,应用的规则是 [a-zA-Z]\d
量词含义
{n}出现n次
{n, m}出现n-m次
{n,}至少出现n次
*出现0次或多次,等价于{0,}
?出现0次或一次,等价于{0,1}
+出现1次或多次,等价于{1,}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值