Skip to main content
 首页 » 编程设计

python之在最后一个正斜杠和第一个连字符之前获取文本

2025年05月04日10me-sa

我需要解析一个 URL,并从 :

获取 1585710
http://www.example.com/0/100013573/1585710-key-description-goes-here 

所以这意味着它在最后一个/和第一个之前 -

我对正则表达式的经验很少,这对我来说是一个很难理解的概念。

任何帮助或协助将不胜感激

编辑:使用 Python。

请您参考如下方法:

使用下面的正则表达式并从组索引 1 中获取数字。

^.*\/([^-]*)-.*$ 

DEMO

代码:

>>> import re 
>>> s = "http://www.example.com/0/100013573/1585710-key-description-goes-here" 
>>> m = re.search(r'^.*\/([^-]*)-.*$', s, re.M) 
>>> m 
<_sre.SRE_Match object at 0x7f8a51f07558> 
>>> m.group(1) 
'1585710' 
>>> m = re.search(r'.*\/([^-]*)-.*', s) 
>>> m.group(1) 
'1585710' 
>>> m = re.search(r'.*\/([^-]*)', s) 
>>> m.group(1) 
'1585710' 

解释:

  • .*\/ 匹配直到最后一个 / 符号的所有字符。
  • ([^-]*) 捕获任何字符但不是 - 零次或多次。
  • -.* 匹配所有剩余的字符。
  • group(1) 包含第一个捕获组捕获的字符。打印 group(1) 将给出所需的结果。