gpt4 book ai didi

javascript - 我需要一个正则表达式来匹配字符串

转载 作者:行者123 更新时间:2023-12-02 22:49:41 26 4
gpt4 key购买 nike

我有这样的网址

让 url = "https://storage.cloud.google.com/dev-radius-backend/merchant/docs/1568875072010.jpg?organizationId=837717194226 "

我需要匹配子字符串“/merchant/docs/1568875072010.jpg”

我找到了 regEx 来查找 url 的基础,但由于在这种情况下,文件名位于中间而不是末尾,因此我无法自己编写 regEx。

但是我找到了一个方法,效率不是很高

var pathArray = url.split('/');
var a = pathArray[6].split('?')
var fileName = '/' + pathArray[4] + '/' + pathArray[5] + '/' + a[0]

我需要 fileName 为“/merchant/docs/1568875072010.jpg”

最佳答案

以下正则表达式与模式匹配:
\/[^\/]+\/[^\/]+\/[^\/]+(?=\.)\.[^?]+

示例:

var url = 'https://storage.cloud.google.com/dev-radius-backend/merchant/docs/1568875072010.jpg?organizationId=837717194226';
var match = url.match(/\/[^\/]+\/[^\/]+\/[^\/]+(?=\.)\.[^?]+/);

if (match) {
console.log(match[0]); // "/merchant/docs/1568875072010.jpg"
document.getElementById('result').innerText = match[0];
}
<span id="result"></span>

正则表达式的解释:
\/ - 匹配文字 /
[^\/]+ - 至少匹配 / 以外的任何内容一次
(?=\.) - 正向前瞻,断言紧随字符串中当前位置之后的是文字点
\. - 匹配文字点
[^?]+ 匹配非文字问号的任何内容

关于javascript - 我需要一个正则表达式来匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58236780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com