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

标签 regex go

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

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 组:除 _ 之外的零个或多个字符,然后是可选的 _

关于regex - golang正则表达式获取包含搜索字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72489981/

相关文章:

go - 无法将 POST 正文绑定(bind)到 Go 中的 URL

javascript - javascript字符串拆分中的正则表达式,浏览器兼容性问题

python - 使用Python获取日期字符串的最佳方法

Java正则表达式删除空段落

java - 正则表达式匹配引号外的文本等

go - 使用Delve调试Go二进制文件期间如何更改寄存器值?

jQuery - 正则表达式问题 - 获取 3 '/'(斜杠)之间的 href 地址

json - 如何使用 MutatingWebhook 在创建时将容器注入(inject)到 Kubernetes Pod 中?

go - 导入 vault/builtin/credential/aws 将测试标志添加到命令行应用程序

mongodb - 如何将 bson 数组写入 ResponseWriter