加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式应用:匹配一个匹配内容外的内容

发布时间:2020-12-14 01:26:23 所属栏目:百科 来源:网络整理
导读:标题有些拗口,实际的应用场景是这样的:给出类似这样一个字符串“abc/def/def/df”,期望匹配其中的“abc/def/def”部分。 第一步的思路想到了匹配最后一个“/”及其后的内容,正则可以这样写:“/[^/]+$”,那么问题来了,怎么匹配剩下的部分呢? 首先想到

标题有些拗口,实际的应用场景是这样的:给出类似这样一个字符串“abc/def/def/df”,期望匹配其中的“abc/def/def”部分。

第一步的思路想到了匹配最后一个“/”及其后的内容,正则可以这样写:“/[^/]+$”,那么问题来了,怎么匹配剩下的部分呢?

首先想到了利用形如“[^abc]”的反义语法,但经过测试不好用。反思一下“^”后面跟的应该是字符而非正则表达式,只能想起他办法。幸运的是找到了这样一个 帖子(http://bbs.csdn.net/topics/390367204?page=1),给了我启发,在通过查找正则的文档和尝试,找到了解决的方法。
先给出答案:“.+(?=/[^/]+$)”。引用一下文档:(?=exp)也叫零宽度正预测先行断言,它断言自身出现的位置的后面能匹配表达式exp。答案可以理解为:“.+”自身出现的位置后面能匹配“/[^/]+$”,也就是“/[^/]+$”前的“.+”

启发:根据需要使用其他断言,可以灵活的做到匹配一个匹配格式之外的内容。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读