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

2024-04-23 06:40:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我要在组中提取由/分隔的值。你知道吗

举几个例子:

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

提前谢谢

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


Tags: 方法编辑参数数量字母数字例子kadabra
1条回答
网友
1楼 · 发布于 2024-04-23 06:40:26

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

相关问题 更多 >