import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?#remove next set of parenthesis and content because its only for simulating automod)(^|\\W|\\b)(?<!player\\.)(?<!blog\\.)(?<!dev\\.)(?<!link\\.)(?<!affiliate\\.)(?<!meetups\\.)(?<!help\\.)(?<!safety\\.)(?<!devstatus\\.)(?<!brand\\.)(?<!sings\\.)(?<!music\\.)twitch\\.tv\\/(?!embed(\\/|\\b)|subs(\\/|\\b)|directory(\\/|\\b)|p\\/|user(\\/|\\b)|legal(\\/|\\b)|admin(\\/|\\b)|login(\\/|\\b)|signup(\\/|\\b)|jobs(\\/|\\b)|videos(\\/|\\b)|collections(\\/|\\b)|downloads(\\/|\\b)|turbo(\\/|\\b)|store(\\/|\\b)|creatorcamp(\\/|\\b)|settings(\\/|\\b)|giftcard(\\/|\\b)|redeem(\\/|\\b)|broadcast(\\/|\\b)|partner(\\/|\\b)|bits(\\/|\\b)|prime(\\/|\\b))(\\w+)\\/?(?!\\S)(?#remove next set of parenthesis and content because its only for simulating automod)($|\\W|\\b)";
final String string = "https://www.twitch.tv/miametzmusic\n"
+ "https://www.twitch.tv/miametzmusic\n"
+ "https://twitch.tv/summit1g\n"
+ "https://twitch.tv/summit1g/\n"
+ "https://www.twitch.tv/subsp00ky\n"
+ "https://www.twitch.tv/subsp00ky/\n\n"
+ "https://player.twitch.tv/js/embed/v1.js\n"
+ "https://player.twitch.tv/?channel=miametzmusic&parent=www.example.com\n"
+ "https://www.twitch.tv/embed/miametzmusic/chat?parent=www.example.com\n"
+ "https://www.twitch.tv/subs\n"
+ "https://www.twitch.tv/subs/miametzmusic\n"
+ "https://www.twitch.tv/directory\n"
+ "https://www.twitch.tv/directory/all/tags/classical\n"
+ "https://www.twitch.tv/miametzmusic/about\n"
+ "https://www.twitch.tv/miametzmusic/schedule\n"
+ "https://www.twitch.tv/miametzmusic/videos\n"
+ "https://www.twitch.tv/videos/1821013434\n"
+ "https://www.twitch.tv/videos/1821013434?t=00h00m13s\n"
+ "https://www.twitch.tv/collections/EwAtC1IWzhY3Ww\n"
+ "https://www.twitch.tv/videos/1277407565?collection=EwAtC1IWzhY3Ww\n"
+ "https://www.twitch.tv/videos/1277407565?collection=EwAtC1IWzhY3Ww&t=00h00m52s\n"
+ "https://player.twitch.tv/?collection=EwAtC1IWzhY3Ww&video=1277407565&parent=www.example.com\n"
+ "https://player.twitch.tv/?collection=EwAtC1IWzhY3Ww&video=1277407565&time=0h2m27s&parent=www.example.com\n\n"
+ "https://www.twitch.tv/p/giftcard/\n"
+ "https://www.twitch.tv/p/about\n"
+ "https://www.twitch.tv/p/en/about/\n"
+ "https://blog.twitch.tv/\n"
+ "https://blog.twitch.tv/en/\n"
+ "https://blog.twitch.tv/en/archive/2023/\n"
+ "https://dev.twitch.tv/\n"
+ "https://dev.twitch.tv/products/\n"
+ "https://www.twitch.tv/downloads\n"
+ "https://www.twitch.tv/jobs\n"
+ "https://www.twitch.tv/jobs/en/\n"
+ "https://www.twitch.tv/turbo\n"
+ "https://www.twitch.tv/store\n"
+ "https://www.twitch.tv/creatorcamp\n"
+ "https://www.twitch.tv/creatorcamp/en/paths/\n"
+ "https://www.twitch.tv/settings/security\n"
+ "https://link.twitch.tv/devchat\n"
+ "https://affiliate.twitch.tv/\n"
+ "https://meetups.twitch.tv/\n"
+ "https://meetups.twitch.tv/events\n"
+ "https://help.twitch.tv/\n"
+ "https://help.twitch.tv/s/article/getting-started-twitch-studio\n"
+ "https://www.twitch.tv/giftcard/buy?ref_=gc_twitch_landing\n"
+ "https://www.twitch.tv/redeem\n"
+ "https://safety.twitch.tv/\n"
+ "https://safety.twitch.tv/s/article/Usernames\n"
+ "https://devstatus.twitch.tv/\n"
+ "https://devstatus.twitch.tv/uptime\n"
+ "https://www.twitch.tv/broadcast/studio\n"
+ "https://brand.twitch.tv/\n"
+ "https://brand.twitch.tv/downloads/twitch-brand-assets.zip\n"
+ "https://www.twitch.tv/partner/signup\n"
+ "https://www.twitch.tv/bits\n"
+ "https://www.twitch.tv/prime\n"
+ "https://sings.twitch.tv/\n"
+ "https://music.twitch.tv/";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
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