我有这个网址:
http://www.example.com/en/news/2016/07/17/1207151/%D9%81%D8%AA%D9%88%D8%A7%DB%8C-%D8%B1%D9%87%D8%A8%D8%B1-
我将在这里提取
1207151
。这是我的正则表达式:
pattern = '(http[s]?:\/\/)?([^\/\s]+\/)+[^/]+[^/]+[^/]+[^/]/(?<field1>[^/]+)/'
但这是错误的!
我怎么了
最佳答案
您可以在python代码中使用此正则表达式:
>>> url = 'http://www.example.com/en/news/2016/07/17/1207151/%D9%81%D8%AA%D9%88%D8%A7%DB%8C-%D8%B1%D9%87%D8%A8%D8%B1-'
>>> re.search(r'^https?://(?:([^/]+)/){7}', url).group(1)
'1207151'
([^/]+)/){7}
将匹配任何一个非正斜杠中的1个或多个,并且匹配一次/
7次,从而使我们在捕获的#1组中最后一次匹配。关于python - 使用正则表达式从URL提取子路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39929845/