Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:url中的正则表达式_Python_Regex - Fatal编程技术网

Python:url中的正则表达式

Python: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

我有一些类似的url

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但在这种情况下我应该使用什么?如果我需要替换此url
http://tyumen.drom.ru/bmw/5-series/15304602.html
,如果url中的'drom\.ru/*?/.*?/./\d.html',我可以写
吗:
?能否请您更具体地说明“in url”的含义
https://www\.avito\.ru/.*?/avtomobili