用Python编写程序,利用正则表达式里的search方法获取下列字符串里图片名称: “https://www.oschina.net/image/3648452_a78_2177.jpg”
时间: 2023-12-01 21:02:38 浏览: 127
可以使用如下代码来实现:
```python
import re
url = "https://www.oschina.net/image/3648452_a78_2177.jpg"
pattern = r"/(\d+)_\w+\.jpg$"
match = re.search(pattern, url)
if match:
image_name = match.group(1)
print(image_name)
else:
print("No match found.")
```
解释一下代码:
- 第一行导入了Python内置的正则表达式模块re;
- 第三行定义了要匹配的正则表达式,其中\d+表示匹配一个或多个数字,\w+表示匹配一个或多个字母数字字符(包括下划线),\.jpg表示匹配.jpg后缀,$表示匹配字符串结尾;
- 第五行使用re.search方法来搜索字符串中是否存在与正则表达式匹配的部分;
- 如果匹配成功,第六行通过group(1)方法获取正则表达式中第一个用括号括起来的匹配组,即图片名称;
- 如果匹配失败,第八行输出提示信息。
相关问题
编写python程序,利用正则表达式里的search方法获取下列字符串里图片名称: “https://www.oschina.net/image/3648452_a78_2177.jpg”
可以使用如下代码:
```python
import re
url = "https://www.oschina.net/image/3648452_a78_2177.jpg"
pattern = r"/(\d+)_\w+_\d+\.jpg$"
match = re.search(pattern, url)
if match:
print(match.group(1)) # 输出图片名称:3648452
else:
print("未匹配到图片名称")
```
解释一下正则表达式的含义:
- `(\d+)`:匹配一个或多个数字,并使用括号将其分组
- `_`:匹配下划线
- `\w+`:匹配一个或多个字母、数字或下划线
- `_`:匹配下划线
- `\d+`:匹配一个或多个数字
- `\.jpg$`:匹配以 `.jpg` 结尾的字符串,并以 `$` 结尾表示匹配到末尾
因此,整个正则表达式的含义就是匹配类似于 `3648452_a78_2177.jpg` 的字符串,并提取其中的数字部分作为图片名称。
4.编写程序,利用正则表达式里的search方法获取下列字符串里图片名称: “https://www.oschina.net/image/3648452_a78_2177.jpg”
import re
string = "https://www.oschina.net/image/3648452_a78_2177.jpg"
pattern = r"/(\w+)\.jpg$"
result = re.search(pattern, string)
if result:
print(result.group(1))
else:
print("No match")
阅读全文