如何使用JavaScript正则表达式提取URL中的Hopnhat子串
JavaScript正则表达式提取URL中的"Hopnhat"子串
这里提供几种实用的正则方案来从给定URL中提取Hopnhat子串:
方案1:匹配扩展名前的目标子串
利用目标子串位于.zip扩展名之前、且前面有下划线的结构特征,编写正则:
const url = "https://abc.xxxxx.yyy/data/HNX/2024/BCTC/VN/QUY2/xxx_Baocaotaichinh_Q2_2024_Hopnhat.zip"; const regex = /_(\w+)\.zip$/; const matchResult = url.match(regex); const targetStr = matchResult ? matchResult[1] : null; console.log(targetStr); // 输出: Hopnhat
正则说明:
_:匹配分隔目标子串的下划线(\w+):捕获一个或多个字母数字字符(即我们需要的Hopnhat)\.zip$:匹配URL结尾的.zip扩展名,确保只匹配最后一段有效内容
方案2:直接精准匹配
如果Hopnhat的字符串固定,可直接匹配并通过正向预查确保位置正确:
const url = "https://abc.xxxxx.yyy/data/HNX/2024/BCTC/VN/QUY2/xxx_Baocaotaichinh_Q2_2024_Hopnhat.zip"; const regex = /Hopnhat(?=\.zip)/; const matchResult = url.match(regex); const targetStr = matchResult ? matchResult[0] : null; console.log(targetStr); // 输出: Hopnhat
正则说明:
Hopnhat:直接匹配目标字符串(?=\.zip):正向预断言,确保目标子串后面紧跟.zip,但不会将.zip包含在匹配结果中
方案3:拆分URL后提取
先拆分URL得到文件名,再用正则提取目标:
const url = "https://abc.xxxxx.yyy/data/HNX/2024/BCTC/VN/QUY2/xxx_Baocaotaichinh_Q2_2024_Hopnhat.zip"; const fileName = url.split('/').pop(); // 获取文件名:xxx_Baocaotaichinh_Q2_2024_Hopnhat.zip const regex = /_(\w+)\.zip/; const matchResult = fileName.match(regex); const targetStr = matchResult ? matchResult[1] : null; console.log(targetStr); // 输出: Hopnhat
内容的提问来源于stack exchange,提问作者XanhCloud Marketing
相关产品推荐
相关产品推荐

