正则表达式 获取html中<li>与</li>之间的内容,要支持多行
时间: 2024-05-16 12:14:53 浏览: 141
JS正则表达式修饰符中multiline(/m)用法分析
可以使用以下正则表达式来匹配 html 中的 <li> 与 </li> 标签之间的内容:
```html
<li>([\s\S]*?)<\/li>
```
其中,`[\s\S]*?` 匹配任意多个字符,包括换行符,`()` 表示分组,`<\/li>` 匹配闭合标签。
如果要在 Python 中使用该正则表达式,可以使用 `re.findall()` 方法来获取所有匹配的结果:
```python
import re
html = '''
<ul>
<li>Item 1</li>
<li>
Item 2
with multiple lines
</li>
<li>Item 3</li>
</ul>
'''
pattern = r'<li>([\s\S]*?)<\/li>'
matches = re.findall(pattern, html)
for match in matches:
print(match.strip())
```
输出结果为:
```
Item 1
Item 2
with multiple lines
Item 3
```
注意,`match.strip()` 是为了去掉匹配结果中的前后空格。
阅读全文