import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "<iframe.*?(width=\"[0-9]*\")?\\.?(height=\"[0-9]*\")?\\.*?src=\".*?youtube\\.com\\/embed\\/(\\w*\\-?\\w*).*?(width=\"[0-9]*\")?\\.?(height=\"[0-9]*\")?\\.*?><\\/iframe>";
final String string = "<iframe width=\"123\" height=\"237\"src=\"http://www.youtube.com/embed/IMtG_n1FpgA\" frameborder=\"0\" allowfullscreen></iframe>\n"
+ " \n\n"
+ "<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/VsG2t-rKUmA\" frameborder=\"0\" allowfullscreen></iframe>\n\n"
+ "<iframe id=\"cKOFUZFPYp8_Youtube_api\" style=\"width:100%;height:100%;top:0;left:0;position:absolute\" frameborder=\"0\" allowfullscreen=\"1\" title=\"YouTube video player\" width=\"640\" height=\"360\" src=\"https://www.youtube.com/embed/cKOFUZFPYp8?controls=0&modestbranding=1&rel=0&showinfo=0&loop=0&fs=0&hl=en&enablejsapi=1&origin=http%3A%2F%2Fspiritualtv.org&widgetid=1\"></iframe>";
final String subst = "<video id=\\\"$3\\\" class=\\\"video-js vjs-default-skin vjs-fluid\\\" controls width=\\\"640\\\" height=\\\"264\\\" data-setup='{ \\\"techOrder\\\": [\\\"youtube\\\"], \\\"sources\\\": [{ \\\"type\\\": \\\"video/youtube\\\", \\\"src\\\": \\\"https://www.youtube.com/watch?v=$3\\\"}] }'></video>";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
}
}
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