所以我对正则表达式非常不好,我需要从字符串中提取链接。

例:

str = 'hi check this https://clips.twitch.tv/KindYummyCarrotPeteZaroll clip!!'


我需要从字符串中提取完整的URL“ https://clips.twitch.tv/KindYummyCarrotPeteZaroll”。

剪辑的ID为“ KindYummyCarrotPeteZaroll”,每个URL都不相同。

str可以具有多个以不同方式处理的链接。我们必须匹配https://clips.twitch.tv/ID

最佳答案

尝试以下代码:



var paragraph = 'hi check this https://clips.twitch.tv/KindYummyCarrotPeteZaroll clip!!';
var regex = /(?:https:\/\/)?clips\.twitch\.tv\/(\S+)/i;
var result = paragraph.match(regex);
console.log(result);
console.log('Clip ID: ' + result[1]);





剪辑的ID将在result[1]中。

说明:


(?:https:\/\/)?clips\.twitch\.tv\/与精确的字符串https://clips.twitch.tv/clips.twitch.tv/匹配,括号后的问号表示括号内的文本出现0或1,?:表示我们不想捕获它,反斜杠在那里只是为了逃避特殊字符
(\S+)-\S匹配任何非空白字符,+表示一个或多个出现,括号内,因此匹配的文本在单独的字段中返回
由于将常规字符串括在(双引号)中,因此将正则表达式括在斜杠中
斜杠后可能会有各种修饰符,在我们的例子中是/i,表示不区分大小写的匹配


有关正则表达式的更多详细信息,请参见documentation on MDN

关于javascript - 如何在JavaScript中使用RegEx从抽动剪辑中提取URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52633162/

10-11 03:10