You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python正则表达式从字符串提取路径、文件名并排除特定内容

实现方案

1. 正则规则编写

针对你需要提取的两类内容,对应匹配规则如下:

  • 匹配/wp-content/开头的目录路径:r'\/wp-content\/uploads\/\d{4}\/\d{2}\/'
    规则说明:匹配固定前缀/wp-content/uploads/加4位年份、2位月份、末尾带斜杠的路径结构。如果你的目录不是固定的年/月两级,可替换为r'\/wp-content\/uploads(?:\/[^\/]+)*\/'适配任意层级的uploads子目录。
  • 匹配符合要求的图片文件名:r'[\w\-.]+\.(?:jpg|jpeg|png|gif|webp)'
    规则说明:匹配由字母、数字、横线、下划线、点组成,后缀为常见图片格式的文件名,可根据实际需求自行补充后缀类型。
    如果需要直接从完整http/https链接中提取两类内容、自动排除域名部分,可使用带捕获组的合并正则:
    r'https?:\/\/[^\/]+(\/wp-content\/uploads\/\d{4}\/\d{2}\/)?([\w\-.]+\.(?:jpg|jpeg|png|gif|webp))?'
    两个捕获组分别对应目录路径、图片文件名,无匹配对应内容时分组结果为None。

2. Python 调用示例

import re

# 替换为你的目标字符串
test_str = """
https://example.com/wp-content/uploads/2021/09/VideoHive-Happy-Kids-Slideshow-Premiere-Pro-MOGRT-Free-Download-GetintoPC.com_-300x169.jpg
/wp-content/uploads/2023/05/test-image.png
其他无关文本内容
"""

# 提取所有目录路径
dir_pattern = re.compile(r'\/wp-content\/uploads\/\d{4}\/\d{2}\/')
extracted_dirs = dir_pattern.findall(test_str)
print("提取到的目录路径:", extracted_dirs)

# 提取所有图片文件名
img_pattern = re.compile(r'[\w\-.]+\.(?:jpg|jpeg|png|gif|webp)')
extracted_imgs = img_pattern.findall(test_str)
print("提取到的图片文件名:", extracted_imgs)

# 从完整URL中同时提取路径和文件名
combined_pattern = re.compile(r'https?:\/\/[^\/]+(\/wp-content\/uploads\/\d{4}\/\d{2}\/)?([\w\-.]+\.(?:jpg|jpeg|png|gif|webp))?')
for match in combined_pattern.finditer(test_str):
    dir_path = match.group(1)
    img_name = match.group(2)
    if dir_path:
        print("匹配到的目录:", dir_path)
    if img_name:
        print("匹配到的文件名:", img_name)

运行输出示例

提取到的目录路径: ['/wp-content/uploads/2021/09/', '/wp-content/uploads/2023/05/']
提取到的图片文件名: ['VideoHive-Happy-Kids-Slideshow-Premiere-Pro-MOGRT-Free-Download-GetintoPC.com_-300x169.jpg', 'test-image.png']
匹配到的目录: /wp-content/uploads/2021/09/
匹配到的文件名: VideoHive-Happy-Kids-Slideshow-Premiere-Pro-MOGRT-Free-Download-GetintoPC.com_-300x169.jpg

内容的提问来源于stack exchange,提问作者faisal rhm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 04:48:03