如何获取此字符串" 534641" (这个值是动态的,可以是6,5,4位)?如何找到" - "之前" 534641"?
import re
string = "http://www.test.com.my/white-red-gift-perfume-powerbank-yellow-534641.html?ff=1\u0026s=Ebsr"
m = re.search('-(.+?).html', string).group(1)
print (m)
答案 0 :(得分:2)
你快到了。由于您想要的只是数字,您可以使用\d
仅捕获数字:
>>> m = re.search('-(\d+).html', string).group(1)
>>> print (m)
534641
另一种方法是告诉除-
之外的所有字符':
>>> m = re.search('-([^-]+).html', string).group(1)
>>> print (m)
534641
有关详细信息,请参阅doc。
一些快速说明:.html
应为\.html
,避免使用' string',' list'等名称。 python使用的。不知道为什么会出错。
答案 1 :(得分:1)
你最后已经有了这个号码。只需使用以下命令拆分破折号:
m = re.search('-(.+?).html', string).group(1).split("-")
# last element in m is the number you are looking for
print (m[-1])