为了账号安全,请及时绑定邮箱和手机立即绑定

Lookahead 和 Lookbehind regex

Lookahead 和 Lookbehind regex

Go
慕桂英546537 2022-08-01 18:44:08
所以我有这个正则表达式:(?:\/p\/|$)(?:[^\/]*)(?<=-)(.*)(?=\/)我希望它能从宜家链接中拉出ID,但它似乎不适用于Go。任何人都可以帮我吗?还是有工具可以转换它?我让它与所有其他口味一起工作,但不是Go。https://regex101.com/r/74RITp/4< - 这里举例说明
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您可以使用以下命令完全删除外观并依靠捕获机制:

/p/[^/]*-([^/]*)/

请参阅正则表达式演示。请注意,前导和尾随是字符串模式的一部分。详细信息/

  • /p/- 一个字符串/p/

  • [^/]*- 零个或多个字符,而不是/

  • -- 一个连字符

  • ([^/]*)- 第 1 组:除/

  • /- 一个字符。/

请参阅 Golang 演示

package main


import (

    "fmt"

    "regexp"

)


func main() {

    s := `https://www.ikea.com/de/de/p/symfonisk-tischleuchte-mit-wifi-speaker-weiss-30435157/?tduid=d8b332c221610a36288c647f8959959f&utm_medium=affiliate&utm_name=generic&utm_term=conversion&utm_content=deeplink&utm_source=SmartApfel`

    regex := regexp.MustCompile(`/p/[^/]*-([^/]*)/`)

    fmt.Printf("%#v\n", regex.FindStringSubmatch(s)[1])

}

输出:"30435157"


查看完整回答
反对 回复 2022-08-01
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信