用于捕获以正斜杠分隔的组中的URL路径的正则表达式

时间:2016-03-02 17:33:25

标签: python regex

我想分组提取由/.

分隔的值

几个例子:

  • / abra / 1234fd / kadabra / 2314应该返回abra,1234fd,kadabra,2314
  • / abra / 1234fd / kadabra应该返回abra,1234fd,kadabra
  • / abra / 1234fd应该返回abra,1234fd

提前致谢

编辑:问题是我有一个由/分隔的任意数量的params(字母数字值),我正在寻找一种方法使它变得通用。

1 个答案:

答案 0 :(得分:1)

str.split()似乎就是你想要的:

assert '/abra/1234fd/kadabra/2314'.strip('/').split('/') == ['abra', '1234fd', 'kadabra', '2314']
assert '/abra/1234fd/kadabra'.strip('/').split('/') == ['abra', '1234fd', 'kadabra']
assert '/abra/1234fd'.strip('/').split('/') == ['abra', '1234fd']

如果您必须有正则表达式,请尝试:

import re
assert re.findall('[^/]+', '/abra/1234fd/kadabra/2314') == ['abra', '1234fd', 'kadabra', '2314']
assert re.findall('[^/]+', '/abra/1234fd/kadabra') == ['abra', '1234fd', 'kadabra']
assert re.findall('[^/]+', '/abra/1234fd') == ['abra', '1234fd']