学习js的第十六天【正则表达式】

正则表达式:用某种模式去匹配一类字符串的公式

定义方式:

1.构造函数方式:let reg = new RegExp('\d+',g)

2.字面量方式:let reg = /\d+/   (/写具体的正则表达式/) 

常用方法:

1.test: 正则.test(字符串)  ==>匹配成功ture/匹配不成功false

const str='abcd'
const reg = /b/   //去匹配字符串中是否有b
let isOk=reg.test(str)
alert(isOK)

2.search: 字符串.search(正则)  ==>匹配成功返回索引号/匹配不成功返回-1

3.match: 字符串.match(正则)  ==>匹配成功返回数组/匹配不成功返回null

4.replace: 字符串.replace(正则,新字符串)  ==>匹配成功返回新的字符串

const str='abcd'
const reg = /b/   //去匹配字符串中是否有b
let newStr=str.replace(reg,'x')   //把b元素替换成x

5.exec: 正则.exec(字符串)  ==>匹配成功返回数组/匹配不成功返回null

常用元字符:

 

限定符:

 连接符:

定位符:限定某些字符出现的位置

 修饰符:

一、修饰符

g: global 全文搜索,不添加,搜索到第一个匹配停止

i:  ignore case 忽略大小写,默认大小写敏感

m: multiple lines 多行搜索      

二、用法:

var reg = /\bis\b/;

var str = "He is a boy, This is a dog.Where is she? ";

str.match(reg); 只匹配第一个,

正则后加g匹配所有的 var reg = /\bis\b/g;

 转义符:

正则特殊转义符

\f 匹配换页符

\n 匹配换行符

\r 匹配回车符

\t 匹配制表符

\v 匹配垂直制表符  

\\ 匹配\  

 \" 匹配 "  

 \' 匹配 '  

Unix系统里,每行结尾只有“<换行>”,即”\n”;

Windows系统里面,每行结尾是“<换行><回车 >”,即“\n\r”;

Mac系统里,每行结尾是“<回车>”,即”\n”;

优先级顺序:

 贪婪模式:

var str = 'a "witch" and her "broom" is one'; 
 str.match( /".*"/g);   //输出的结果为:a "witch" and her "broom"

非贪婪模式:加?,最小匹配规则,只要匹配到一个就结束

 var str = 'a "witch" and her "broom" is one'; 
 str.match(/".*?"/g ) // "witch", "broom" 

分组:捕获组与非捕获组

1.捕获组:可以反向引用字符

匹配日期时间,分组后反向引用分组内容重组日期时间格式

const str = '2022-09-05'
const reg = /(\d{4})-(\d{2})-(\d{2})/
let newStr = str.replace(reg,'$2/$3/$1')
console.log(newStr)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值