python <loc>http://www.xfyf1314.com/</loc>用正则批量获取<loc>和</loc>之间的内容,储存在list变量
时间: 2023-07-19 14:25:06 浏览: 52
你可以使用Python的正则表达式模块`re`来批量获取XML数据中所有`<loc>`和`</loc>`之间的内容,并将其保存在一个列表变量中。具体实现如下:
```python
import re
xml_data = '<url><loc>http://www.xfyf1314.com/</loc><loc>http://www.example.com/</loc></url>' # XML数据
pattern = re.compile(r'<loc>(.*?)</loc>') # 定义正则表达式
matches = pattern.findall(xml_data) # 在XML数据中搜索所有匹配项
contents = []
for match in matches:
content = match.strip() # 获取匹配到的内容并去除两端的空格
contents.append(content) # 将获取到的内容添加到列表变量中
print(contents) # 打印获取到的所有内容
```
在上面的代码中,我们首先导入了Python的正则表达式模块`re`,并将XML数据保存在`xml_data`变量中。然后,我们使用`re.compile`方法定义了一个正则表达式,该正则表达式匹配`<loc>`和`</loc>`之间的任何内容,并使用`findall`方法在XML数据中搜索所有匹配项。最终,我们使用一个循环遍历所有的匹配项,获取匹配到的内容并将其添加到`contents`列表变量中。需要注意的是,我们在获取匹配到的内容时使用了`strip`方法去除了字符串两端的空格。
最终,我们将获取到的所有内容保存在`contents`列表变量中并打印出来。