import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "((http|https)+\\:\\/\\/)?([\\w\\d-]+\\.)*[\\w-]+[\\.\\:]\\w+([\\/\\?\\=\\&\\#\\.]?[\\w-]+)*\\/?";
final String string = "https://www.facebook.com\n"
+ "https://app-1.number123.com\n"
+ "http://facebook.com\n"
+ "ftp://facebook.com/faq\n"
+ "http://localhost:3000\n"
+ "localhost:3000/\n"
+ "unitedkingdomurl.co.uk\n"
+ "this.is.a.url.com/its/still=going?wow\n"
+ "shop.facebook.org\n"
+ "app.number123.com\n"
+ "app1.number123.com\n"
+ "app-1.numbEr123.com\n"
+ "app.dashes-dash.com\n"
+ "www.facebook.com\n"
+ "facebook.com\n"
+ "facebook.in\n"
+ "fb.com/hello_123\n"
+ "fb.com/hel-lo\n"
+ "fb.com/hello/goodbye\n"
+ "fb.com/hello/goodbye?okay\n"
+ "fb.com/hello/goodbye?okay=alright\n"
+ "Hello www.google.com World http://yahoo.com\n"
+ "https://www.google.com.tr/admin/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "https://google.com.tr/test/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "http://google.com/test/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "ftp://google.com/test/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "www.google.com.tr/test/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "www.google.com/test/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "drive.google.com/test/subPage?qs1=sss1&qs2=sss2&qs3=sss3#Services\n"
+ "https://www.example.pl\n"
+ "http://www.example.com\n"
+ "www.example.pl\n"
+ "example.com\n"
+ "http://blog.example.com\n"
+ "http://www.example.com/product\n"
+ "http://www.example.com/products?id=1&page=2\n"
+ "http://www.example.com#up\n"
+ "http://255.255.255.255\n"
+ "http://255.255.255.255:8080/faq\n"
+ "255.255.255.255/faq\n"
+ "shop.facebook.org/derf.html\n\n"
+ "https://youtu.be/c30TltNg-Wk : this is valid\n"
+ "https://www.youtu.be/c30TltNg-Wk : this is invalid\n"
+ "www.youtu.be/c30TltNg-Wk : this is invalid\n"
+ "what should be there finally there in content info file?\n"
+ "youtu.be/c30TltNg-Wk or https://youtu.be/c30TltNg-Wk";
final Pattern pattern = Pattern.compile(regex, 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