首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式如何停止匹配

正则表达式如何停止匹配
EN

Stack Overflow用户
提问于 2022-07-20 14:11:17
回答 1查看 31关注 0票数 0
代码语言:javascript
复制
aws-sdk-java/1.9.4 Linux/3.10.0-862.mt20190308.130.el7.x86_64 Java_HotSpot(TM)_64-Bit_Server_VM/25.45-b02/1.8.0_45

我想得到substr‘/1.9.4’

这是我的常客

代码语言:javascript
复制
(\S+?\/\S+?)(\s|$)

但它有很多次匹配

有人能帮我吗?非常感谢~

EN

回答 1

Stack Overflow用户

发布于 2022-07-20 14:16:13

您可以使模式更加具体,并且只有在没有捕获组的情况下才能得到匹配。

代码语言:javascript
复制
(?<!\S)\w+(?:-\w+)*\/\d+(?:\.\w+)*(?!\S)

解释

  • (?<!\S)断言左边的空白边界
  • \w+(?:-\w+)*匹配1+单词字符,并可选择重复-和1+单词字符。
  • \/匹配/ (取决于模式的分隔符,不必转义/)
  • \d+(?:\.\w+)*匹配1+数字,并可选择重复.和1+字字符。
  • (?!\S)断言右边的空白边界

Regex演示

或者是一种食肉动物变体:

代码语言:javascript
复制
(?<!\S)[^\/\s]+\/\w+(?:\.\w+)*(?!\S)

regex演示

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

https://stackoverflow.com/questions/73053231

复制
相关文章

相似问题

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