所以我有這個正則表達式:(?:\/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 關注
- 118 瀏覽
添加回答
舉報
0/150
提交
取消