首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式获取周围的文本,但不匹配其间的单词

正则表达式获取周围的文本,但不匹配其间的单词
EN

Stack Overflow用户
提问于 2017-10-19 23:02:50
回答 1查看 344关注 0票数 0

我正在尝试编写一个正则表达式来提取URL,这些URL具有以下格式的端点:

https://api.siteurl.com/id/a1b2c3d4/apps

https://api.siteurl.com/id/a1b2c3d4/devices

...

etc

这些URL中的id是a1b2c3d4,并且可以在不同的URL之间有所不同,但我想提取它周围的文本:

下面的正则表达式匹配整个字符串:

https:\/\/\S+\.\S+\.com\/id\/\S+\/\S+

但是,我不想提取id本身,而只是想将其用作先行检查。

最终提取的字符串应该类似于https://api.siteurl.com/id'...'apps'

其中...实际上并未被提取。

是否只能使用2个正则表达式来实现这一点,其中每个正则表达式都使用前视和后视,或者是否可以使用单个表达式来仅提取url的相关部分?

EN

回答 1

Stack Overflow用户

发布于 2020-01-23 22:37:35

您可以使用2个捕获组来捕获您想要保留的数据,并匹配您不想保留的数据。

代码语言:javascript
复制
(https:\/\/\S+\.\S+\.com\/id)\/[^\/]+\/(\S+)

不带/

  • ( Capture
    • https:\/\/\S+\.\S+\.com\/id Group1 id匹配字符串的开头

  • ) Close group
  • \/ match
    • ) / following
    • [^\/]+\/ Match +1次除空格之外的任何字符,然后Match /
    • (\S+) Capture / 2 Match 1+

    a non /

    • (\S+)/ char

Regex demo

这是注释中的模式,不带非捕获组(?:,因为它是不必要的。

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

https://stackoverflow.com/questions/46833007

复制
相关文章

相似问题

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