且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用 Java 中的正则表达式从 *** URL 获取视频 ID

更新时间:2022-11-11 23:18:04

认为这个问题不适用于 Java,以防万一您需要在 Java 中解决这个问题

Figured this question wasn't here for Java, in case you need to do it in Java here's a way

public static String extractYTId(String ytUrl) {
    String vId = null;
    Pattern pattern = Pattern.compile(
                     "^https?://.*(?:youtu.be/|v/|u/\\w/|embed/|watch?v=)([^#&?]*).*$", 
                     Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(ytUrl);
    if (matcher.matches()){
        vId = matcher.group(1);
    }
    return vId;
}

适用于诸如(也适用于 https://...)之类的网址

Works for URLs like (also for https://...)

http://www.***.com/watch?v=0zM4nApSvMg&feature=feedrec_grec_index
http://www.***.com/user/SomeUser#p/a/u/1/QDK8U-VIH_o
http://www.***.com/v/0zM4nApSvMg?fs=1&hl=en_US&rel=0
http://www.***.com/watch?v=0zM4nApSvMg#t=0m10s
http://www.***.com/embed/0zM4nApSvMg?rel=0
http://www.***.com/watch?v=0zM4nApSvMg
http://youtu.be/0zM4nApSvMg