js进阶之正则表达式

本文聚焦正则表达式,介绍其创建方式,如使用构造函数或简写形式,阐述了正则规则,包括或关系、量词、特殊匹配符等。还提及正则表达式的方法,如test()检查字符串是否符合规则。此外,讲解了字符串与正则表达式的联系,如split()、search()、match()、replace()等方法的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则表达式

ps 网上有一堆的正则表达式自动生成器,可以百度找到,直接粘贴过来使用,很方便,
这个文章主要是理解这个知识点,假如需要自己写的时候能写出来

定义一些字符串的规则,来检查一些字符串是否符合规则,获取字符串中符合规则的内容提取出来
1.创建正则表达式的对象
var 变量 = new RegExp(“正则表达式”,“匹配模式”)
简写 reg = /a/ig,使用上面的写法更加灵活
reg = /a|b/ | 和 [ab] 指的是或的意思 [a-z]任意小写字母 [A-z]所有字母
a[bde]c 检查是否是abc adc aec [^c] 除了c以外的字母
通过量词设置一个内容出现的次数,比如/a{3}/ 出现连续三次a /(ab){3}/出现连续三次ab
比如/a{1,3}/ 出现1次到3次a {3,}三次以上 /a+/ 至少一个 /a*/有没有a都行 /a?/0个或一个a
/^a/ 匹配以a开头 /a$/ 匹配以a结尾
.表示匹配任意字符,在正则表达式中使用.转义符号来匹配点,其他特殊
符号也需要转义来匹配,使用\时\来获得,
注意:在构造函数RegExp()时,\是转义符号,需要使用\时\来获得,在简写中不需要写
\w \W \b \B 等等特殊的匹配符,实现更多需求
小练习:手机号正则表达式/^(13|14|15|17|18)[0-9]{9}$/
typeof正则对象是一个object
var 变量 = new RegExp(“正则表达式”,“匹配模式”) 匹配模式取值 "i"忽视大小写"g"全局匹配模式
var reg = new RegExp(“a”)//这个正则表达式来检查字符串里是否有a,严格区分大小写
var str = “a”
var result = reg.test(str);
console.log(result); //true
正则表达式的方法:text()
使用这个方法可以检查一个字符串是否符合正则表达式
如果符合则返回True,否则返回false

2.字符串和正则表达式的联系

split()将字符串拆分为数组,r = ‘aadadadacsfwceew’,r.split(/[A-z]/),将所有拆分
全局正则即使没有设置全局!!!
search()
可以搜索字符串中是否含有指定内容 如果搜到指定内容,则会返回第一次出现的索引,如果没有返回-1
可以接受一个正则表达式作为参数,可以根据正则表达式去搜索,只能查找第一个!!!即使全局
str = " abc bcd dhg dcb agc"
result =str.search(/a[bg]c/)
console.log(result)
match
可以根据正则表达式,从一个字符串将符合的内容提取出来,全局g搜索可以将所有的搜素出来
返回的结果为object,是一个数组
replace(‘被替换内容的正则’‘替换的内容’) 替换 使用方法同上

更多前端资料

请关注公众号:前端从入门到SP
微信扫描二维码关注:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值