import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/((\\*$)|$|(https?:\\/\\/)?[\\*a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$";
final String string = "https://www.google.com.ua/search?q=account+site%3Atelegram.org\n"
+ "https://www.google.com.ua\n"
+ "https://cdn.lijit.com/www/delivery/fpi.js?z=198017&width=160&height=600\n"
+ "https://cdn.lijit.com/www/delivery/fpi.js?z=198017&width=160&height=600#display\n"
+ "http://web.archive.org/web/*/http://cdn.lijit.com/*\n"
+ "http://127.0.0.1:80\n"
+ "https://192.168.1.1";
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