重新编译不能正常工作

2024-04-27 00:13:09 发布

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

我试图在bs4中找到标签,其中文本的格式是:“Firma:………”。问题是重新编译根本不起作用。我不知道我在做什么。在

以下是html代码:

<span class="date">
    Firma:
    <b>Agedr js</b>
</span>

以下是查找此标记的代码:

^{pr2}$

我想我在‘Firma’这篇文章中使用了一些特殊的字符,但是我找不到它。 问题出在哪里?在

编辑: 方法不起作用:

我尝试re.compile('Firma.*')。在

re.DOTALL

if attribute == ...切换到ifattribute.contents[0] == ...


Tags: 代码标记文本redatehtml格式js
1条回答
网友
1楼 · 发布于 2024-04-27 00:13:09

代码正在比较已编译的模式对象与Tag对象。它总会失败的。在

>>> import re
>>> re.compile('a') == 'a'  # PatternObject == str  => always false
False
>>> re.compile('a').search('a')
<_sre.SRE_Match object at 0x0000000002933168>
>>> re.search('a', 'a')
<_sre.SRE_Match object at 0x00000000029331D0>

您应该将PatternObject.search(或re.search)与str一起使用(稍微修改了模式以不包含空格):

^{pr2}$

但对于这个简单的例子,最好使用in运算符:

if 'Firma:' in attribute.text:
    ....

相关问题 更多 >