URL正则表达式模式



我想用正则表达式解析URL,并找到一个与https://*.global匹配的模式。

这是我在regex101上的URL测试字符串。

理想情况下,正则表达式将返回https://app8.global,而不是覆盖其他https字符串。

const URL = `https://temp/"https://app8.global"https://utility.localhost/`;
const regex = /https://(.+?).global(/|'|"|`)/gm;
const found = URL.match(regex);
console.log(found);

如何操作正则表达式,使其返回https://*.global

首先,您需要从起始部分排除斜杠,否则它将匹配上一个url中的内容:

const regex = /https://([^/]+?).global(/|'|"|`)/gm;

现在,你可以转换奇怪的4个字符或使用一个字符组:

const regex = /https://([^/]+?).global[/'"`]/gm;

现在你可以拿到匹配项并去掉最后一个字符:

const matches = URL.match(regex).map(v => v.slice(0, -1));

然后,matches将评估为["https://app8.global"]

使用Group RegExp$1

const URL = `https://temp/"https://app8.global"https://utility.localhost/`;
const regex = /(https://([^/]+?).global[/'"`])/;
const found = URL.match(regex);
console.log(RegExp.$1);

相关内容

  • 没有找到相关文章

最新更新