抽搐剪辑正则表达式
Twitch clip regex
我正在看这个 但 twitch 最近将其 url 的剪辑更改为不同的格式。
新格式为:
https://www.twitch.tv/loserfruit/clip/HungryBillowingSandpiperTebowing
剪辑的 ID 是 HungryBillowingSandpiperTebowing
如何使用正则表达式提取 ID?
我最好的尝试是用替换法,这样的方法能覆盖所有的地方吗?
var Y = "/clip/";
var X = twitchurl;
var Z = X.replace(new RegExp(".*" + Y), "");
如有任何帮助,我们将不胜感激。
您尝试在 Y
(/clip/
字符串)之前尽可能多地匹配换行符以外的任何零个或多个字符。
相反,您应该在 Y
部分 之后尽可能多地匹配 /
以外的任何一个或多个字符,使用 [^/]+
.
您可以使用基于后视的解决方案或捕获组之一:
const Y = "/clip/";
const twitchurl = "https://www.twitch.tv/loserfruit/clip/HungryBillowingSandpiperTebowing";
// Using a capturing group
const result = twitchurl.match(new RegExp(`${Y}([^/]+)`))?.[1];
console.log(result);
// Using a lookbehind
const result2 = twitchurl.match(new RegExp(`(?<=${Y})[^/]+`))?.[0];
console.log(result2);
我正在看这个
新格式为:
https://www.twitch.tv/loserfruit/clip/HungryBillowingSandpiperTebowing
剪辑的 ID 是 HungryBillowingSandpiperTebowing
如何使用正则表达式提取 ID?
我最好的尝试是用替换法,这样的方法能覆盖所有的地方吗?
var Y = "/clip/";
var X = twitchurl;
var Z = X.replace(new RegExp(".*" + Y), "");
如有任何帮助,我们将不胜感激。
您尝试在 Y
(/clip/
字符串)之前尽可能多地匹配换行符以外的任何零个或多个字符。
相反,您应该在 Y
部分 之后尽可能多地匹配 /
以外的任何一个或多个字符,使用 [^/]+
.
您可以使用基于后视的解决方案或捕获组之一:
const Y = "/clip/";
const twitchurl = "https://www.twitch.tv/loserfruit/clip/HungryBillowingSandpiperTebowing";
// Using a capturing group
const result = twitchurl.match(new RegExp(`${Y}([^/]+)`))?.[1];
console.log(result);
// Using a lookbehind
const result2 = twitchurl.match(new RegExp(`(?<=${Y})[^/]+`))?.[0];
console.log(result2);