我想獲得的ID了這個網址/串的:正則表達式:獲取ID了一個網址
http://domain.com/product/sale/1029487807-4a3p9/
這必須是這樣的:
/(sale\/(\d{10}\-[a-z0-9]))/s
任何想法如何獲得ID?謝謝!
我想獲得的ID了這個網址/串的:正則表達式:獲取ID了一個網址
http://domain.com/product/sale/1029487807-4a3p9/
這必須是這樣的:
/(sale\/(\d{10}\-[a-z0-9]))/s
任何想法如何獲得ID?謝謝!
/(\/sale\/)[^\/]+\//
替換\1
或$1
。
如果你的語言支持lookbehinds,你可以:
/(?<=\/sale\/)[^\/]+\//
替換爲空字符串。
您可以使用錨$
指定字符串的結尾,然後使用一個否定的字符類第一擷取組內獲得ID:
\/([^/]*)\/$
演示https://regex101.com/r/dO4hY6/1
而且如果要在sale
之後匹配id,則可以使用以下正則表達式:
sale\/([^/]*)\/
另一種選擇是,如果所有的ID是完全一樣的格式(在這種情況下,10個數字,一個連字符,然後5個字母數字字符),你可以搜索模式直接使用這樣的事情(\d{10}-\w{5})
它適用於PHP嗎?你可以用'parse_url'解析它。 –
短劃線後的匹配表示只匹配單個字符而不匹配字符序列 – nbsp
如何:/ sale \ /(\ d {10} \ - [a-z0-9] +)/ s – TheMagicCow