所以我有这个正则表达式:(?:\/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"
- 1 回答
- 0 关注
- 96 浏览
添加回答
举报
0/150
提交
取消