【发布时间】:2020-09-29 13:40:39
【问题描述】:
在测试 Azure Blob URL 时,我遇到了需要提取正在上传的 Blob 文件的情况。在以下示例中: https://servername.windows.net/virtual/folder/IwantToFindThisFileName.AnyExtension?Azurekey=SASKeyDetails
所以我想找到 - 在最后一次出现 / (在文件夹 / 之后)和第一次出现 ? (即 ?AzureKey)之间 - 这将返回文件名(可以是任何扩展名)。
注意:AzureKey 不是保留字。可以是 ?hg= 或 ?cn 或 ?asdf= 等
必需的输出只有 IwantToFindThisFileName.AnyExtension ,否则将需要对提取的子字符串进行进一步处理
【问题讨论】:
-
但是查询不只是找到最后一个 / 和第一个 ?。使用 indexOf 和 lastIndexOf 很容易。但是需要一个有效的模式 (?=[^\/]+$).+(?=\?\w+=)