RegEx:从网址中获取ID

时间:2016-01-29 15:02:00

标签: regex

我想从这个url / string中获取id:

http://domain.com/product/sale/1029487807-4a3p9/

这必须是这样的:

/(sale\/(\d{10}\-[a-z0-9]))/s

知道如何获取ID吗?谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用anchor $指定字符串的结尾,然后使用否定的字符类来获取第一个捕获组中的id:

\/([^/]*)\/$

演示https://regex101.com/r/dO4hY6/1

如果您想在sale之后匹配ID,可以使用以下正则表达式:

sale\/([^/]*)\/

答案 1 :(得分:0)

/(\/sale\/)[^\/]+\//

替换为\1$1

See it in action

如果您的语言支持lookbehinds,您可以:

/(?<=\/sale\/)[^\/]+\//

替换为空字符串。

See it in action

答案 2 :(得分:0)

另一个选择是,如果您的所有ID格式完全相同(在这种情况下,10个数字,一个连字符,然后是5个字母数字字符),您可以使用类似{{1}的内容直接搜索模式}