Python的beauthulsoup find_all方法:在一个搜索中包含和排除RegEx

2024-09-30 12:13:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于正则表达式和Python(2.6)BeautifulSoup(4.4.0)的问题:

如果我这样做:

import re

re_expr = re.compile(r"(?!.*\bthis\b).*\bcol\b")

a = u"col this"
b = u"col"

print re.search(re_expr, a)
#None
print re.search(re_expr, b)
#<_sre.SRE_Match object at 0x0209EEC8>

我在第一次搜索中未命中,在第二次搜索中命中(如预期)。在

但如果我这么做:

^{pr2}$

我得到了两个td标记,而不仅仅是我所期望的td class="col"。在

我知道有很多解决办法,我知道, 但我试着找出为什么这个逻辑和我预期的不同。在

为什么“如果我们可以匹配'this'”正则表达式块不起作用? 在beauthulsoup中的class_搜索中使用正(包含)和负(排除)hit RegEx将是很好的选择。在

有没有人能在一个正则表达式和美化组的.find或{}方法中做这样的事情吗?在


Tags: importrenonesearchcolthisclasstd

热门问题