【发布时间】:2014-12-20 23:13:25
【问题描述】:
我正在尝试使用 BeautifulSoup 收集一组具有非常具体标准的 URL。我要收集的 URL 必须包含 /b-\d+(/b- 后跟一系列数值)。但是,我想忽略所有包含 View%20All 的 URL,即使其中包含 /b-\d+。
以下是 URL 示例:
1. http://www.foo.com/bar/b-12312903?sName=View%20All
2. http://www.foo.com/bar/b-832173712873?sName=View%20All
3. http://www.foo.com/bar/b-1208313109283129
4. http://www.foo.com/bar/b-2198123371239489?adCell=W3
鉴于上述示例,我要收集的有效 URL 是 #3 和 #4。我尝试使用不同的否定前瞻正则表达式,但它们对我不起作用:
{"href" : re.compile(r"\/b-\d+.+(?!View\%20All)")}
{"href" : re.compile(r"^.+\/b-\d+.+(?!View\%20All$)")}
谁能告诉我我做错了什么?
【问题讨论】:
标签: python regex regex-lookarounds