登录
首页 >  Golang >  Go问答

golang正则表达式获取包含搜索字符的字符串

来源:stackoverflow

时间:2024-04-18 15:18:32 231浏览 收藏

积累知识,胜过积蓄金银!毕竟在Golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《golang正则表达式获取包含搜索字符的字符串》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我正在从字符串中提取一段字符串(链接):

https://arteptweb-vh.akamaihd.net/i/am/ptweb/100000/100000/100095-000-A_0_VO-STE%5BANG%5D_AMM-PTWEB_XQ.1V7rLEYkPH.smil/master.m3u8

所需的输出应为100000/100000/100095-000-a_

我正在使用正则表达式 ^.*?(/[i,na,fm,d]([,/]?)(/am/ptweb/|.+=.+,))([^_ ]*).*?$ golang 风格,我只能得到第 4 组,输出如下 100000/100000/100095-000-a

但是我想要 a 之后的下划线。

有点卡住了,非常感谢任何帮助。


正确答案


你可以使用

(/(i|na|fm|d)(/am/ptweb/|.+=.+,))([^_]*_?)

参见 regex demo

详细信息

  • (/(i|na|fm|d)(/am/ptweb/|.+=.+,)) - 第 1 组:
    • / - / 字符
    • (i|na|fm|d) - 第 2 组:inafmd
    • (/am/ptweb/|.+=.+,) - 第 3 组:/amp/ptweb/ 或尽可能多的一个或多个字符(换行符除外),= 、一个或多个尽可能多的字符(换行符除外)和一个 字符
  • ([^_]*_?) - 第 4 组:除 _ 之外的零个或多个字符,然后是可选的 _

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>