2010-08-07 32 views

回答

2

如果'abc123'字面上你想搜索的内容,随时随地在href,然后re.compile('abc123')正如其他答案所建议的那样。如果你想要匹配的实际字符串包含标点符号,例如'abc123.com',则改用

re.compile(re.escape('abc123.com')) 

所以,它的字面解释,就像字母数字是re.escape部分将“逃离”任何标点;没有它,某些标点符号会被RE引擎以各种方式解释,例如上例中的点('.')将被视为“任何单个字符”,因此re.compile('abc123.com')会与例如“ 'abc123zcom'(和许多其他类似性质的字符串)。

1

"abc123"应该给你你想要的东西

如果不工作,比BS可能使用re.match在这种情况下,你会想".*abc123.*"

+0

但它是href url中任何地方包含'abc123'的任何href。 – Blankman 2010-08-07 01:54:58

+0

我已经更新了我的答案 – aaronasterling 2010-08-07 01:58:16

1

如果你想所有恰好“ABC123”链接你可以简单地说:

links = myhtml.findAll('a', href=re.compile('abc123')) 
相关问题