Python中URL的正则表达式
我有以下网址Python中URL的正则表达式,python,regex,Python,Regex,我有以下网址 content/test content/contact products/ products/96_product/ products/96_product/86000_productdescription1 products/96_product/86343_productdescription3 products/96_product/76002_productdescription4 products/96_product/100222_productdescription
content/test
content/contact
products/
products/96_product/
products/96_product/86000_productdescription1
products/96_product/86343_productdescription3
products/96_product/76002_productdescription4
products/96_product/100222_productdescription5
products/100_product233/86303_productdescription1
products/100_product233/844543_productdescription3
products/100_product233/73442_productdescription4
products/100_product233/103434_productdescription5
我需要得到产品说明。数字可以是5或6位。如何构造正则表达式以获取列表中的产品描述?您只需使用
str.split()
在'
上进行拆分,然后执行最后一部分:
descriptions = []
for url in urls:
parts = url.split("_")
if len(parts) == 3:
descriptions.append(parts[-1])
对于更复杂的情况,可以使用如下正则表达式:
import re
regex = re.compile(r"products/.*/\d{5,6}_(.*)")
descriptions = []
for url in urls:
match = regex.match(url)
if match:
descriptions.append(match.group(1))
正则表达式
^.*\d{5,6}_([^\/])*$
解释
^
开始
*
任何东西
\d{5,6}
五位或六位数字
下划线
()
将其保存在结果中
[^\/]*
任何不是斜杠的东西
$
结束
python正则表达式引用
正则表达式pdf备忘单您可以执行以下操作:
[re.search('product\/([0-9]{5,6})_productdescription', s).group(1)
if re.search('product\/([0-9]{5,6})_productdescription', s)
else ''
for s in urls]
lmgtfy。。。