import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^((?:https?:)?\\/\\/)?((?:www|m)\\.)?((?:youtube(-nocookie)?\\.com|youtu.be))(\\/(?:[\\w\\-]+\\?v=|embed\\/|v\\/)?)([\\w\\-]+)(\\S+)?$";
final String string = "https://www.youtube.com/watch?v=DFYRQ_zQ-gk&feature=featured\n"
+ "https://www.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "http://www.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "//www.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "www.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "https://youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "http://youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "//youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "youtube.com/watch?v=DFYRQ_zQ-gk\n\n"
+ "https://m.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "http://m.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "//m.youtube.com/watch?v=DFYRQ_zQ-gk\n"
+ "m.youtube.com/watch?v=DFYRQ_zQ-gk\n\n"
+ "https://www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US\n"
+ "http://www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US\n"
+ "//www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US\n"
+ "www.youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US\n"
+ "youtube.com/v/DFYRQ_zQ-gk?fs=1&hl=en_US\n\n"
+ "https://www.youtube.com/embed/DFYRQ_zQ-gk?autoplay=1\n"
+ "https://www.youtube.com/embed/DFYRQ_zQ-gk\n"
+ "http://www.youtube.com/embed/DFYRQ_zQ-gk\n"
+ "//www.youtube.com/embed/DFYRQ_zQ-gk\n"
+ "www.youtube.com/embed/DFYRQ_zQ-gk\n"
+ "https://youtube.com/embed/DFYRQ_zQ-gk\n"
+ "http://youtube.com/embed/DFYRQ_zQ-gk\n"
+ "//youtube.com/embed/DFYRQ_zQ-gk\n"
+ "youtube.com/embed/DFYRQ_zQ-gk\n\n"
+ "https://www.youtube-nocookie.com/embed/DFYRQ_zQ-gk?autoplay=1\n"
+ "https://www.youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "http://www.youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "//www.youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "www.youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "https://youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "http://youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "//youtube-nocookie.com/embed/DFYRQ_zQ-gk\n"
+ "youtube-nocookie.com/embed/DFYRQ_zQ-gk\n\n"
+ "https://youtu.be/DFYRQ_zQ-gk?t=120\n"
+ "https://youtu.be/DFYRQ_zQ-gk\n"
+ "http://youtu.be/DFYRQ_zQ-gk\n"
+ "//youtu.be/DFYRQ_zQ-gk\n"
+ "youtu.be/DFYRQ_zQ-gk\n\n"
+ "https://www.youtube.com/HamdiKickProduction?v=DFYRQ_zQ-gk";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html