我在html页面列表中寻找这些带有正则表达式的url,每个页面都有自己独特的url,如下所示
http://sfbay.craigslist.org/search/sfc/apa?
http://sfbay.craigslist.org/search/sfc/apa?s=100
http://sfbay.craigslist.org/search/sfc/apa?s=200
http://sfbay.craigslist.org/search/sfc/apa?s=300
我已经尝试了这个正则表达式,试图获取第一个url,以及具有一组字符串的以下url,而第一个url没有
re_search = '(http\:\/\/sfbay\.craigslist\.org\/search\/sfc\/apa\?(s\=\d+)?)'
searched_urls = re.findall(re_search, str(search_page_html))
searched_urls
它给出了这个结果,但我只想要每个元组的第一个结果
('http://sfbay.craigslist.org/search/sfc/apa?', ''),
('http://sfbay.craigslist.org/search/sfc/apa?s=100', 's=100'),
('http://sfbay.craigslist.org/search/sfc/apa?s=200', 's=200'),
('http://sfbay.craigslist.org/search/sfc/apa?s=300', 's=300'),
提前谢谢
在正则表达式中,一对括号将捕获匹配项。您有两对括号,因此每个元组中有两个匹配项
正在捕获
''
、's=100'
、's=200'
和's=300'
。您可以将该组更改为非捕获组,方法是在括号的开头添加?:
,如下所示:相关问题 更多 >
编程相关推荐