Python:url中的正则表达式
我有一些类似的urlPython:url中的正则表达式,python,regex,Python,Regex,我有一些类似的url https://www.avito.ru/chelyabinsk/avtomobili/audi_a4_2014_818414044 我需要从中得到模式。我知道,那*是一个符号,可以代替任何符号,但是当我尝试https://www.avito.ru/*/avtomobili它不会打开此url。 如何修复此问题?*表示匹配最后一个符号零次或多次 例如,x*匹配“xxxxxxx…”,而[a-z]*匹配“abcsiwdqhwid…” 为什么不试试呢 https://www.av
https://www.avito.ru/chelyabinsk/avtomobili/audi_a4_2014_818414044
我需要从中得到模式。我知道,那*是一个符号,可以代替任何符号,但是当我尝试https://www.avito.ru/*/avtomobili
它不会打开此url。
如何修复此问题?
*
表示匹配最后一个符号零次或多次
例如,x*
匹配“xxxxxxx…”,而[a-z]*
匹配“abcsiwdqhwid…”
为什么不试试呢
https://www.avito.ru/[a-z]*/avtomobili
或
从你的例子来看,要匹配
https://www.avito.ru/chelyabinsk/avtomobili/audi_a4_2014_818414044
你需要有一个
https://www\.avito\.ru/.*?/avtomobili
在https://www.avito.ru/XXXXXX/avtomobili
:XXXXXX
可以是任何东西
*?
意味着匹配任何东西(尽可能少),直到您到达/avtomobili
您还需要避开像这样的点。似乎将正则表达式与。对于正则表达式,
*
是一个重复运算符,允许您将前面的组/字符重复零次或多次。根据您的用例,您需要[^/]+
或+
。嗯,不,*
本身不会做任何事情,更不用说“打开URL”。我们在这里缺少了大约一半的上下文,在什么情况下您试图应用*
到底是什么。@deceze我需要解析页面内容中的一些数据,首先我应该打开url,我有很多url,比如http://www.avito.ru/chelyabinsk/avtomobili/audi_a4_2014_818414044
但是www.avito.ru
和avtomobili
之间的符号不同,我想替换这些符号以打开所有url@ArseniyKrupenin这样不行,网络没有“全球化”的概念,也就是说,您不能以这种方式扩展URL。这仅适用于可以显式列出目录中文件的文件名http://www.avito.ru/.*url中的“/avtomobili”:print len(urllib2.urlopen(url.read())但它不返回任何url,但有些类似于http://www.avito.ru/ryazan/avtomobili?pmax=50000&f=188_893b1397
regex不适用于此用途。它可以匹配已知文本中的模式,但它不能变出未知内容。@ScottStainton但在这种情况下我应该使用什么?如果我需要替换此urlhttp://tyumen.drom.ru/bmw/5-series/15304602.html
,如果url中的'drom\.ru/*?/.*?/./\d.html',我可以写吗:
?能否请您更具体地说明“in url”的含义
https://www\.avito\.ru/.*?/avtomobili