我正在使用美味的汤来找到所有的href标签。
links = myhtml.findAll('a', href=re.compile('????'))
我需要找到href文本中包含'abc123'的所有链接。
我需要正则表达式的帮助,请看???在我的代码段中。
答案 0 :(得分:2)
如果'abc123'
字面您要搜索的内容,href
中的任何位置,则其他答案建议的re.compile('abc123')
是正确的。如果您要匹配的实际字符串包含标点符号,例如'abc123.com'
,然后使用
re.compile(re.escape('abc123.com'))
re.escape
部分将“逃避”任何标点符号,以便字面意思,就像字母数字一样;没有它,RE的引擎会以各种方式解释一些标点符号,例如上例中的点('.'
)将被视为“任何单个字符”,因此re.compile('abc123.com')
将匹配,例如'abc123zcom'
(以及许多其他类似性质的字符串)。
答案 1 :(得分:1)
"abc123"
应该为您提供您想要的内容
如果不起作用,则BS可能正在使用re.match
,在这种情况下您需要".*abc123.*"
答案 2 :(得分:1)
如果你想要所有链接都是'abc123',你可以简单地说:
links = myhtml.findAll('a', href=re.compile('abc123'))