import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?x)\n"
+ "https?://\n"
+ "(?:\n"
+ " (?:www|m)\\.\n"
+ " (?:tiktok.com)\\/\n"
+ " (?:v|embed|trending)\n"
+ " (?:\\/)?\n"
+ " (?:\\?shareId=)?\n"
+ ")\n"
+ "(?P<id>[\\da-z]+)";
final String string = "https://m.tiktok.com/h5/share/usr/6641141594707361797.html\n"
+ "https://m.tiktok.com/v/6749869095467945218.html\n"
+ "https://www.tiktok.com/@cchelseameow/video/6751181801206729990\n"
+ "https://www.tiktok.com/embed/6567659045795758085\n"
+ "https://www.tiktok.com/share/user/6567659045795758085\n"
+ "https://www.tiktok.com/trending?shareId=6744531482393545985";
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