我想从这个url / string中获取id:
http://domain.com/product/sale/1029487807-4a3p9/
这必须是这样的:
/(sale\/(\d{10}\-[a-z0-9]))/s
知道如何获取ID吗?谢谢!
答案 0 :(得分:2)
您可以使用anchor $
指定字符串的结尾,然后使用否定的字符类来获取第一个捕获组中的id:
\/([^/]*)\/$
演示https://regex101.com/r/dO4hY6/1
如果您想在sale
之后匹配ID,可以使用以下正则表达式:
sale\/([^/]*)\/
答案 1 :(得分:0)
/(\/sale\/)[^\/]+\//
替换为\1
或$1
。
如果您的语言支持lookbehinds,您可以:
/(?<=\/sale\/)[^\/]+\//
替换为空字符串。
答案 2 :(得分:0)
另一个选择是,如果您的所有ID格式完全相同(在这种情况下,10个数字,一个连字符,然后是5个字母数字字符),您可以使用类似{{1}的内容直接搜索模式}