所以我对正则表达式非常不好,我需要从字符串中提取链接。
例:
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/