2024-10-01 13:37:09 发布
网友
这个正则表达式<li>.*end不适用于下面的文本,我做错了什么?你知道吗
<li>.*end
文本
<li>asdsadasd adssadasdasdasdas asdasdasdasdasdad adsasdasdasdasd dasdadadsadadasdasdasdasda end
有人能帮我写一个正则表达式来抓取所有的文本吗?你知道吗
必须从re中选择多行选项:
re
import re expr = re.comile("<li>.*end", re.M)
考虑到评论和Dietrich的回答,如果您需要$和^的行为相同,请使用re.DOTALL而不是re.M/re.MULTILINE。你知道吗
$
^
re.DOTALL
re.M/re.MULTILINE
默认情况下,.与换行符不匹配。必须传递DOTALL标志。。。你知道吗
.
DOTALL
regex = re.compile('<li>.*end', re.DOTALL)
或等效地
regex = re.compile('<li>.*end(?S)')
编辑:不是改变$和^行为的re.MULTILINE标志。你知道吗
re.MULTILINE
必须从
re
中选择多行选项:考虑到评论和Dietrich的回答,如果您需要
$
和^
的行为相同,请使用re.DOTALL
而不是re.M/re.MULTILINE
。你知道吗默认情况下,
.
与换行符不匹配。必须传递DOTALL
标志。。。你知道吗或等效地
编辑:不是改变
$
和^
行为的re.MULTILINE
标志。你知道吗相关问题 更多 >
编程相关推荐