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

C#正则表达式匹配动态HTML文档中assets路径下的文件名

正则实现方案

你可以根据你的使用场景选择以下两种正则:

直接提取结果版本(支持反向预查的引擎)

(?<=\/?assets\/)[^\/]+(?=\/?$)

匹配结果直接就是目标文件名,不需要额外提取分组。

兼容全版本(带分组提取)

\/?assets\/([^\/]+)\/?$

提取第一个分组的内容即可得到目标文件名。

匹配逻辑说明

  • \/?:匹配开头可选的斜杠,覆盖带根路径前缀和不带前缀的两种场景
  • assets\/:匹配固定的assets目录标识和后面的目录分隔斜杠
  • [^\/]+:匹配所有非斜杠的连续字符,就是你需要提取的目标文件名
  • (?=\/?$):正向预查匹配结尾可选的斜杠,不会将结尾斜杠纳入匹配结果

如果你使用的正则引擎不支持反向预查(比如低版本JavaScript、部分旧版本编程语言),优先选择带分组的版本即可。

测试覆盖情况

你提到的四个场景全部可以正常匹配:

  • /assets/sdluxdczm3ee4000/:提取结果 sdluxdczm3ee4000
  • /assets/sdluxdczm3ee4000:提取结果 sdluxdczm3ee4000
  • assets/sdluxdczm3ee4000/:提取结果 sdluxdczm3ee4000
  • assets/sdluxdczm3ee4000:提取结果 sdluxdczm3ee4000

代码示例(以Python为例)

import re

html_content = "你的HTML全文内容"
# 用带分组的版本,兼容性更强
regex = r"\/?assets\/([^\/]+)\/?$"
file_names = re.findall(regex, html_content, re.M)
print(file_names)

内容的提问来源于stack exchange,提问作者Nika Petriashvili

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:06:04