问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

正则分组,零宽断言和贪婪懒惰模式

发布网友 发布时间:2023-07-12 07:13

我来回答

1个回答

热心网友 时间:2024-12-06 01:56

一直以来,使用正则表达式的机会不少,经常用来做一些字符串处理工作,还是比较方便的,不过对于断言和贪婪懒惰模式的认识一直比较模糊。最近我们后端组在协作开发一个对外的后台项目,前端的接口文档是用word写了(汗-_-||,很难用啊,还是markdown比较好)里面有一个接口列表的表格,这里的接口列表需要提取出来,形成一个权限链路做权限控制,减少ajax的RBAC权限配置的臃肿。这里我用了正则表达式来完成,做完之后我对正则表达式的理解和使用也算是小成了,下面我就说一下正则表达式几种常见用法我的理解。

网上有《正则表达式30分钟入门教程》珠玉在前,基础知识我就不多说了,大家自己去看。

1、对于一些有一定模式或者以一定规律出现的字符串,我们想要匹配并且捕获到它们;
2、这些字符串我们不但要匹配捕获到它们,还要向后引用进行例如替换之类的处理;
正则表达式中分组的单位用(exp)小括号来区分,里面exp就是要匹配的内容。

匹配ip地址xxx.xxx.xxx.xxx可以写成以下形式

匹配少数民族的真实姓名

(此处贴个毕加索的全名。。。[巴勃罗·迭戈·荷瑟·山迪亚哥·弗朗西斯科·德·保拉·居安·尼波莫切诺·克瑞斯皮尼亚诺·德·罗斯·瑞米迪欧斯·西波瑞亚诺·德·拉·山迪西玛·特立尼达·玛利亚·帕里西奥·克里托·瑞兹·布拉斯科·毕加索]

而正则表达式中默认第0个分组是匹配到整条正则表达式的字符串

我们还可以给分组进行命名,方便区分

匹配到exp的内容就会捕获到一个命名为name的分组里面,不影响原来的索引分组情况,也可以写成

在向后引用中,我们可以使用 \n 或者 $n 来引用匹配到的分组内容,即第n个出现的小括号。

在正则表达式中,我们可以选择关闭对不需要的内容的捕获,就是不捕获,以此来提高正则表达式的执行速度和节约内存使用。
语法是:

零宽,顾名思义,就是没有宽度,匹配到的字符串不会被捕获。
断言,就是true or false。

下面是4种断言的说明:

ps:千万傻傻别去的记名称,理解用法最重要

零宽断言只是用来判断是否符合继续匹配的条件,并不会找到真正需要的字符串,本身并不会匹配字符

例如,在爬虫中我们可能需要匹配某些图片url,我们就可以用断言来获取图片url。

正则表达式中默认的行为是在整个表达式能够匹配的前提下,匹配尽可能多的字符,这称之为贪婪模式。
不过有时候,我们还在整个表达式匹配的前提下尽可能少的匹配字符,这就需要用到懒惰模式了。
懒惰模式的语法也简单,只需要在你所需匹配的字符后面再加一个?即可。

解释:懒惰模式就是在你设想字符可能出现的次数中,尽可能匹配少的次数。

以上就是正则表达式的分组,零宽断言和贪婪懒惰模式的讲解,下期再见。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何选手机号码才大吉好运发财的手机号码? 手机号码吉凶吉祥号富贵大吉的手机尾号有哪些? 鸽子吃卫生纸是缺什么 为什么鸽子不吃菜叶子而只吃玉米呢 电脑显示未安装evernote怎么回事请教高手我的印象笔记不能在台式电脑... 韩国是岛国吗 韩国最便宜的vps 电脑开机时出现rebootandselectproperbootdevice怎么办 reboot and sel... ...出现reboot and select proper boot device 高清的液晶电视最好的选择?? 台湾可以看到金门烟花么 从中国大陆到台湾新北市怎么走 中国的烟花是如何传入外国的...??? 晋江烟花批发市场在哪里 ...短乎、小红书等)脚本创作中有哪些技巧可以用于增强情感表达和... 任免履行教导员职责是任职吗 任职和任免的区别 女人缺乏上进心的表现 市场细分研究驱动用户精准营销 回力鞋市场占有率多少 天津成人高考新生报名流程是怎样的? 2021年天津成人专升本报名流程是怎样的? ...王某、刘某三人分别以房屋使用权、劳务和货币出资开办的一家普通_百... 我的房,凭什么别人有权居住使用? 南京的“统一”饮料能喝吗?有没有什么问题? 统一的那些饮料有营养吗?还是喝了对身体有坏处? 求灵魂摆渡1~3部百度云资源!!! ...一直跳我该怎么样能说好舅舅让我去或者我直接走行不行? ...两个因素就是水情和鱼情,为什么河道涨水更不好钓鱼呢? 董岳南先生是那里人。其代表作品有什么特点。 1258港币等于多少人民币 爱普生L1258打印不彩色怎么回事? 求救94123换舵机 hao1258网址导航好用吗? jquery怎么实现:当鼠标悬停与DIV时,如何使滚动的DIV停止滚动,并在鼠标... 我想用jquery做一个鼠标放到元素上元素一直移动,鼠标拿开就停止 的效果... jQuery实现"m_view"中显示图片,自动轮播"m_control"中的图片,鼠标悬停... lookatmycrayons英语是什么意思 人大在职课程培训班现在可以进校上课了吗? 人大在职课程培训班需要考几次试? 想投资南腊新区,想问下未来这里会建设成什么样呢? 临牌怎么交车船税 ...成达工程有限公司吗?我是学石油工程的,这一块公司发展怎么样... 车船税没有交有什么影响 为什么男生不能像对待女友闺蜜那样对待女友闺蜜? 在一个女生的心里男友没有闺蜜的分量重,这是真的吗? 为什么我的男友对我闺蜜比对我还好? 这个男人爱我还是爱闺蜜?谁对他更重要呢? 一个女生爱闺蜜多一点还是爱男朋友多一点? 郭沐希 郭苡萱哪个名字好点