首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式查找url的子串

使用正则表达式查找url的子串
EN

Stack Overflow用户
提问于 2020-08-05 19:44:43
回答 1查看 108关注 0票数 0

我想从一系列网址中提取一个子串的建议。我正在编写的代码应该从我们的web跟踪器的传入事件的URL中提取这段信息(URL的实际id )。

使用这些URL(包含我要查找的子字符串的URL的格式是前三个)

代码语言:javascript
复制
https://www.rbnett.no/sport/i/LA8gxP/_
https://www.itromso.no/sport/sprek/i/GGobq6/derfor-vraker-tromsoes-beste-loeper-sesongens-eneste-konkurranse-det-er-for-risikabelt-aa-delta
https://www.adressa.no/sport/fotball/i/9vyQGW/brann-treneren-ferdig-avsluttet-pressekonferansen-med-aa-sitere-max-manus
https://www.rbnett.no/dakapo/banner/
https://www.adressa.no/search/

其中我想分别从前三个URL中提取子字符串"LA8gxP“、"GGobq6”和"9vyQGW“,而不是从后两个URL中提取"dakapo”、"banner“或"search”。

我正在征求有关regexp的建议,以便提取这段信息。据我所知,子字符串只包含a-z、A-Z和0-9。子字符串似乎只有6个字符,但这可能会随着时间的推移而改变。

到目前为止,我找到的最好的解决方案(使用Python)是:

代码语言:javascript
复制
match = re.search(r"/i/([a-zA-Z0-9]+)/", url)
substring = match.group(1)

它很好用,但我觉得它不是很优雅。

此外,它还依赖于使用/i/-模式作为前缀。尽管它看起来像是一个一致的模式,但我不能百分之百地确定它是否是。

EN

回答 1

Stack Overflow用户

发布于 2020-08-06 00:08:39

我能想到的唯一其他替代方案是:\/i\/(.+)\/

下面是演示:https://regex101.com/r/2iOyCE/1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63264465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档