import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<a\\s*href=\"(?:https?:\\/\\/)?(?:www\\.)?youtu(?:\\.be|be\\.com)\\/(?:.*v=|v\\/|watch\\/|)([-\\w]+)[^\"]*\"[^>]*>";
final String string = "<a href=\"http://www.youtube.com/watch?v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"https://www.youtube.com/watch?v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/watch?v=iwGFalTRHDA&feature=related\"></a>\n"
+ "<a href=\"http://youtu.be/iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/embed/watch?feature=player_embedded&v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/embed/watch?v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/embed/v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/watch?feature=player_embedded&v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/watch?v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"www.youtube.com/watch?v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"www.youtu.be/iwGFalTRHDA\"></a>\n"
+ "<a href=\"youtu.be/iwGFalTRHDA\"></a>\n"
+ "<a href=\"youtube.com/watch?v=iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/watch/iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/v/iwGFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/v/i_GFalTRHDA\"></a>\n"
+ "<a href=\"http://www.youtube.com/watch?v=i-GFalTRHDA&feature=related\"></a>\n"
+ "<a href=\"http://www.youtube.com/attribution_link?u=/watch?v=aGmiw_rrNxk&feature=share&a=9QlmP1yvjcllp0h3l0NwuA\"></a>\n"
+ "<a href=\"http://www.youtube.com/attribution_link?a=fF1CWYwxCQ4&u=/watch?v=qYr8opTPSaQ&feature=em-uploademail\"></a>\n"
+ "<a href=\"http://www.youtube.com/attribution_link?a=fF1CWYwxCQ4&feature=em-uploademail&u=/watch?v=qYr8opTPSaQ\"></a>";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
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