import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?P<url>https?://(?:(?:www|forums)\\.aeva\\.asn\\.au/forums|forums\\.aeva\\.asn\\.au)[^\\s\\\"<]+)";
final String string = "Examples of URL patterns (cross linking the AEVA forum) that need conversion\n"
+ "============================================================================\n\n"
+ "Thread ID: 756\n"
+ "http://www.aeva.asn.au/forums/forum_posts.asp?TID=132&KW=\n\n"
+ "Thread ID: 1667\n"
+ "http://www.aeva.asn.au/forums/forum_posts.asp?TID=270\n\n\n"
+ "Thread ID: 1959\n"
+ "http://www.aeva.asn.au/forums/forum_posts.asp?TID=316&PID=1958#1958\n\n"
+ "Thread ID: 1427\n"
+ "http://www.aeva.asn.au/forums/forum_posts.asp?TID=65&KW=&PID=646#646\n\n\n"
+ "Thread ID: 1997\n"
+ "http://www.aeva.asn.au/forums/forum_posts.asp?TID=161&PN=1\n\n"
+ "Thread ID: \n\n\n"
+ "Thread ID: \n\n\n"
+ "Thread ID: \n\n\n"
+ "Thread ID: \n\n\n"
+ "Thread ID: \n\n\n"
+ "Thread ID: \n\n\n\n"
+ "Probably ignore these patterns, not many of them...\n"
+ "===================================================\n"
+ "Thread ID: 8573\n"
+ "<img src=\"http://www.aeva.asn.au/forums/smileys/smiley4.gif\" border=\"0\" />\n\n"
+ "Thread ID: 4845\n"
+ "http://www.aeva.asn.au/forums/smileys/smiley18.gif\n\n\n"
+ "Hi Andrew, \n"
+ "<br />I cant for the life of me see how to PM. Is it enabled?\n"
+ "<br />\n"
+ "<br />Anyway, here are the conversations I started that could be re-clasified if you get a chance.\n"
+ "<br />\n"
+ "<br />Cheers,\n"
+ "<br />Mal.\n"
+ "<br />\n"
+ "<br />Media\n"
+ "<br />\n"
+ "<br />http://www.aeva.asn.au/forums/forum_posts.asp?TID=143&KW=\n"
+ "<br />\n"
+ "<br />\n"
+ "<br />Parts and Suppliers\n"
+ "<br />\n"
+ "<br />http://www.aeva.asn.au/forums/forum_posts.asp?TID=132&KW=\n"
+ "<br />http://www.aeva.asn.au/forums/forum_posts.asp?TID=128&KW=\n"
+ "<br />http://www.aeva.asn.au/forums/forum_posts.asp?TID=113&KW=\n"
+ "<br />http://www.aeva.asn.au/forums/forum_posts.asp?TID=116&KW=";
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