import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:['\\*\\?\\x5c`][^\\n\\/]+\\/|\\/[^\\/]+?['\\*\\?\\x5c`]|\\$[!#-\\$\\(\\*\\-0-9\\?-\\[_a-\\{])";
final String string = "false_positive=do+you+want+a+pizza?+with+mozzarella/pomodoro?\n"
+ "host=www.google.com;cd+/etc;/bin$u/ca*+passwd\n"
+ "host=www.google.com;cat$@/etc$@/passwd\n"
+ "host=www.google.com;cd+/et*;/bi*$u/ca*+passwd\n"
+ "host=www.google.it;/bin/c*t$u+/etc$u/passwd\n"
+ "host=www.google.it;/bin/cat$u+/*tc$u/passwd\n"
+ "host=www.google.it;cd+/etc;/bin/c*t+passwd\n"
+ "host=www.google.com;/bin/ca?+/et?/passwd\n"
+ "host=www.google.com;cat+/etc/${a}passwd\n"
+ "host=www.google.com;cat+/etc/$(echo)passwd\n"
+ "host=www.google.com;cat+/etc/`echo`passwd\n"
+ "host=www.google.com;cat+/etc${a}/passwd\n"
+ "host=www.google.com;cat+/etc$(echo)/passwd\n"
+ "host=www.google.com;cat+/etc`echo`/passwd\n"
+ "host=www.google.com;cat+/etc/passwd${a}\n"
+ "host=www.google.com;cat+/etc/passwd$(echo)\n"
+ "host=www.google.com;cat+/etc/passwd`echo`\n"
+ "host=www.google.com;ca?+/et?/pa??wd\n"
+ "host=www.google.com;cd+etc/+ca?+passwd\n"
+ "host=www.google.com;?at+/?tc/passwd\n"
+ "host=www.google.com;c\\a\\t+/e\\t\\c/pa\\s\\swd\n"
+ "host=www.google.com;cd+/etc;c\\at+p\\a\\sswd\n"
+ "host=www.google.com;cd+/etc;c'at'+p'a'sswd\n"
+ "host=www.google.com;c$@at /et$@c/pas$@swd\n"
+ "host=www.google.com;c$!at /et$!c/pas$!swd\n"
+ "host=www.google.com;c$*at /et$*c/pas$*swd\n"
+ "host=www.google.com;c$?at /et$?c/pas$?swd\n"
+ "host=www.google.com;c$-at /et$-c/pas$-swd\n"
+ "host=www.google.com;c$_at /et$_c/pas$_swd\n"
+ "host=www.google.com;c$$at /et$$c/pas$$swd";
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