按正则表达式替换
如题但似乎并没有 re.replace() 函数
part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')
print(replace(pattern=pat, string=part)) 正则表达式替换是用re.sub {:10_256:}{:10_256:}您可以使用 re.sub() 函数按照正则表达式来替换字符串中的内容。下面是一个修改后的代码示例:
import re
from lxml import html
tree = html.fromstring("<p>Hello, <b>world!</b></p>")
part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')
# 使用 re.sub 替换所有匹配到的标签
result = re.sub(pat, '', part)
print(result) # 输出 "Hello, world!"
在上述代码中,我们将 <.*?> 匹配模式传递给 re.compile() 函数,并将其存储在变量 pat 中。然后,我们将 part 变量中的 HTML 代码传递给 re.sub() 函数。该函数将在 part 中找到所有匹配 pat 的文本,并将其用空字符串进行替换。
最终输出的结果是 Hello, world!,其中所有的 HTML 标签已经被移除了。 Python re 模块没有 re.replace() 函数。你应该使用 re.sub() 函数来实现按正则表达式替换。以下是如何使用 re.sub() 的示例:
import re
from lxml import html
# ... 你的其他代码 ...
part = html.tostring(tree, encoding='unicode')
pat = re.compile('<.*?>')
result = re.sub(pat, '', part)
print(result)
在这个例子中,re.sub() 函数的第一个参数是一个已编译的正则表达式模式,
第二个参数是用于替换匹配到的模式的字符串(在这里是空字符串),第三个参数是需要进行替换操作的原始字符串。
页:
[1]