gpt4 book ai didi

Javascript 正则表达式 - 捕获前面有另一个字符串的字符串

转载 作者:行者123 更新时间:2023-12-03 00:20:57 25 4
gpt4 key购买 nike

我正在尝试使用 JavaScript 正则表达式从 URL 中提取一些变量值。 URL 采用以下模式:

@companyname/dl-分子类型-组件名称

示例 URL 为:

@companyname/dl-atoms-link

我想使用一个正则表达式从 URL 中提取 molecularType 和 componentName 来给我一个数组:

['原子', '链接']

这是我尝试过的方法,使用了出色的 RegExr站点:

正则表达式:

/(@company\/dl+-)+(?!\1)/g

我的想法是,第一个捕获组将捕获@companyname/dl-,第二个捕获组将捕获第一组中不存在的所有内容。然而 RegExr 似乎表明这将返回与第一个捕获组相同的结果。有人可以帮忙吗?

谢谢

最佳答案

您可以使用如下所示的内容(请注意,我们知道结构并且可以更好地调整正则表达式):

function extract_fields(url)
{
var match = url.match(/@[^\/]+\/dl-([^-]+)-(\w+)/);
if ( match ) {
return {molecularType: match[1], componentName: match[2]};
}
return false;
}

console.log(extract_fields('@companyname/dl-molecularType-componentName'));
console.log(extract_fields('@companyname/dl-atoms-link'));

关于Javascript 正则表达式 - 捕获前面有另一个字符串的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54314261/

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