import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(http|ftp|https):\\/\\/([\\w\\-_]+(?:(?:\\.[\\w\\-_]+)+))([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?";
final String string = "http://myip.ms/browse/ip_ranges/1/ownerID/224218/ownerID_A/1/sort/1/asc/1#ip_ranges_tbl_top\n\n"
+ "<script src=\"mraid.js\"></script>\n"
+ "<img src=\"data:image/png,mone\" style=\"display: none\" onerror=\"\n"
+ " (function(self) {\n"
+ " setTimeout(function() {\n"
+ " var creative = 'GetRich';\n"
+ " var suffix = '';\n"
+ " var country = 'om';\n"
+ " var campaignId = 16492;\n"
+ " var mediatorUrl = 'https://tags.mli.me';\n\n"
+ " // --- ----\n"
+ " var params={scriptId:'mone-tag-script-1',tagTimestamp: new Date().getTime(), tagId:(Math.floor(Math.random() * 10000))};\n"
+ " var req = document.createElement('script');\n"
+ " req.src = mediatorUrl + '/mediator/' + country + '/_/_/' + creative + '/452/' + campaignId + '?';\n"
+ " req.id ='mone-tag-script-1';\n"
+ " params.requestId = '%{${RequestID}}%';\n"
+ " params.placement = '%{${Placement}}%';\n"
+ " params.gclid = '%{${GoogleUserID}}%';\n\n"
+ " if(!!suffix)\n"
+ " params['x-suffix'] = suffix;\n"
+ " for (var k in params) {\n"
+ " req.src += '&' + encodeURIComponent(k) + '=' + encodeURIComponent(params[k]);\n"
+ " }\n"
+ " if (!window.moneTags) window.moneTags = {};\n"
+ " if (!window.moneTags.beacons) window.moneTags.beacons = {};\n"
+ " window.moneTags.beacons[params.tagId] = {'transition':['%%CLICK_URL_ESC%%']};\n"
+ " document.head.appendChild(req);\n"
+ " }, 2000);\n"
+ " })(this);\n"
+ " \"/>\n"
+ "<img src=\"https://imp.mli.me/api/track/impression?RequestID=%{${RequestID}}%&CreativeID=%{${CreativeID}}%&WinningPrice=%%WINNING_PRICE%%\" width=\"1\" height=\"1\">";
final Pattern pattern = Pattern.compile(regex);
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