2016-03-02 142 views
-3

我想提取由/分隔的值。正则表达式用于捕获以正斜杠分隔的组的URL路径

几个例子:

  • /阿布拉/ 1234fd/kadabra/2314应该返回阿布拉1234fd,kadabra,2314
  • /阿布拉/ 1234fd/kadabra应该返回阿布拉1234fd,kadabra
  • /阿布拉/ 1234fd应该返回阿布拉1234fd

在此先感谢

编辑:问题是我有一个由/分隔的任意数量的参数(字母数字值),我正在寻找一种方法来使其一般。

+1

什么语言?也许有一个更简单的解决方案... – axiac

+0

嗯......''([\ w] +)' –

+0

@axiac在Python – Neman

回答

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']