python img 正则
时间: 2023-10-21 17:37:31 浏览: 81
正则表达式可以用来匹配图片文件的文件名或URL地址。
例如,以下正则表达式可以匹配常见的图片文件格式:
- jpg/jpeg:`\.jpe?g$`
- png:`\.png$`
- gif:`\.gif$`
- bmp:`\.bmp$`
- webp:`\.webp$`
其中,`\.`表示匹配一个点(即文件名的扩展名前面的点),`jpe?g`表示匹配`jpg`或`jpeg`,`$`表示匹配字符串结尾。
例如,在Python中,可以使用re库来进行正则匹配,示例代码如下:
```python
import re
# 匹配jpg/jpeg格式的图片文件名
pattern = r'\.jpe?g$'
filename = 'example.jpg'
if re.search(pattern, filename):
print('该文件名是一张jpg/jpeg格式的图片')
# 匹配png格式的图片URL地址
pattern = r'\.png$'
url = 'http://example.com/image.png'
if re.search(pattern, url):
print('该URL地址指向一张png格式的图片')
```
相关问题
python使用正则表达式获取img标签
在Python中使用正则表达式获取img标签可以使用re模块来实现。首先,我们需要导入re模块:
import re
然后,我们可以使用re.findall()函数来匹配并获取所有的img标签。正则表达式可以使用"(<img.*?>)"来匹配img标签,其中.*?表示匹配任意字符(除了换行符)的0个或多个,并且使用?表示非贪婪匹配。完整的代码如下:
import re
html = "<img src='image1.jpg'><img src='image2.jpg'><img src='image3.jpg'>"
img_tags = re.findall("(<img.*?>)", html)
for tag in img_tags:
print(tag)
运行代码后,会输出匹配到的所有img标签:
<img src='image1.jpg'>
<img src='image2.jpg'>
<img src='image3.jpg'>
这样,我们就成功使用正则表达式获取了img标签。如果需要获取img标签中的具体属性值,可以进一步使用正则表达式提取。例如,可以使用re.findall("src=['\"](.*?)['\"]", tag)来提取img标签中的src属性值。
python使用正则表达式获取特定标签下的img标签的src
可以使用Python中的re和BeautifulSoup库来实现。
首先,使用BeautifulSoup库将HTML代码解析为BeautifulSoup对象:
```python
from bs4 import BeautifulSoup
html = """
<html>
<head>
<title>Example</title>
</head>
<body>
<div class="content">
<h1>Heading</h1>
<p>Paragraph</p>
<img src="image1.jpg">
<img src="image2.jpg">
</div>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
```
接下来,使用正则表达式和find_all方法来获取特定标签下的img标签的src属性:
```python
import re
img_tags = soup.find_all('img', {'src': re.compile('.jpg$')})
for img_tag in img_tags:
print(img_tag['src'])
```
这个例子中使用了正则表达式`.jpg$`来匹配以.jpg结尾的src属性,因此只有`image1.jpg`和`image2.jpg`会被匹配到。
阅读全文