一天学会正则表达式--进阶篇

基础篇链接 https://blog.csdn.net/qq_30258721/article/details/126210724

修饰符

修饰符即 /g 中的g,含义是全局匹配,修饰符有4种。
i 代表不区分大小写,匹配时A与a无区别
g 代表全局匹配
m 代表多行匹配,以换行符作区别,每一行单独匹配
s 使任意字符(.)可以包含换行符

分组

()可用于捕获多个数据,如:

/(\w)@(\w).(\w)/g
可将578@163.com捕获数据为
578
163
com

或操作

使用分组还可以搭配 | 一起使用。如:

/(doc|docx)$/g
可以捕获以doc或者docx结尾的数据

断言

断言也称预搜索。当捕获的数据前后有内容要求,但又不捕获这些内容时,就用到断言。这样说很抽象,举个例子。捕获 789la 415789字符串中789后是la的数据,这是用正向先行断言即789(?=la)。
注 断言小节√为能捕获 ×为不能捕获

正向先行断言

(?=表达式) 表示从某位置到结尾,必须匹配到表达式

/homo竟在(?=我身边)/g   // 即捕获‘homo竟在’后有‘我身边’的数据
homo竟在我身边  √
homo竟在你身边  ×

反向先行断言

(?!表达式)表示从某位置到结尾不能匹配表达式

/homo竟在(?!我身边)/g   // 即捕获‘homo竟在’后不是‘我身边’的数据
homo竟在我身边  ×
homo竟在你身边  √
homo竟在  √

正向后行断言

(?<=表达式)表示从某位置到开头,必须匹配表达式

/(?<=homo)竟在(?=我身边)/g   // 即捕获‘竟在’前有‘homo’,‘竟在’后有‘我身边’的数据
homo竟在我身边  √
homo竟在我身后  ×
厚礼蟹竟在我身边  ×

反向后行断言

(?<!表达式)表示从某位置到开头不能匹配表达式

/(?<!homo)竟在(?=我身边)/g   // 即捕获‘竟在’前没有‘homo’,‘竟在’后有‘我身边’的数据
homo竟在我身边  ×
厚礼蟹竟在我身边  √
厚礼蟹竟在我身后  ×

运算优先级

正则表达式是从左到右进行运算,根据优先级大小执行。
转移字符 > ()和[] > 限定字符(?,*,+,{}) > 元字符(^,$,字符) > |(或操作)

结语

至此,正则表达式进阶篇已结束,可以继续练习巩固知识点。如果你能完全掌握基础篇和进阶篇的知识,那么恭喜你,正则表达式匹配问题已难不倒你了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮炭烤策划

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值