你还在用split梭哈字符串?赶紧把正则支棱起来!

前端为什么要学正则表达式

很多人觉得正则是后端的事情,但是其实前端很多地方也需要正则来优化,或者简化代码
比如邮箱格式判断,输入密码判断这些,或者前端来更换接口,我们用正则来更换,那就省下了不少力气!

不要再一直用split梭哈了!!!支棱起来,加油,前端人!!!

限定符?

/used?/g

use a used variable name is illegal


?表示前面的字符出现0次或者1次,也就是d可有可无

限定符*

/ab*c/g

ac
abc
abbbbbc

adc
addddc


匹配0个或多个字符

限定符+

/ab+c/g

ac
abc
abbbbbc

adc
addddc


匹配出现1次以上的字符

限定符{}

/ab{5}c/g

ac
abc
abbbbbc
adc
addddc


/ab{2,}c/g

ac
abc
abbbc
abbbbbc

adc
addddc


限制出现的次数

如何让限定符作用于多个字符?

/(ab)+c/g

ac
abc
ababc

abbbc
abbbbbc
adc
addddc


使用()将字符括起来即可!

‘或’运算

/a (cat|dog)/

a cat
a dog

a bird

字符类

用[]括起来,里面为指定的范围

  • a-z所有的小写字母
  • A-Z所有的大写字母
  • 0-9所有的数字

/[^0-9]+/g

abc
tiger
aabbcc
dog

12345678
abc123456
ABCDRFG


如果在方括号的前面写一个 ^(脱字符)则 代表要求匹配除后面范围以外的字符

元字符

正则表达式中的大多数元字符都以反斜杠开头

字符含义
\d数字字符
\w单词字符
\s空白符(包含Tab和换行符)
\D非数字字符
\W非单词字符
\S非空白字符
.任意字符
^匹配行首
$匹配行尾

贪婪与懒惰匹配

加?变成懒惰匹配

实例1 RGB 颜色值匹配

\b代表单词的边界
/#[a-fA-F0-9]{6}\b/g
组成部分为a-f A-F 0-9,长度为6

实例2 IPv4 地址匹配

/\d+\.\d+\.\d+\.\d+/g

控制每一位的长度

25[0-5]|2[0-4]\d|[01]\d\d]

结果

\b(25[0-5]|2[0-4]\d|[01]?\d\d?\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值