use strict;
my $str = 'false_positive=do+you+want+a+pizza?+with+mozzarella/pomodoro?
host=www.google.com;cd+/etc;/bin$u/ca*+passwd
host=www.google.com;cat$@/etc$@/passwd
host=www.google.com;cd+/et*;/bi*$u/ca*+passwd
host=www.google.it;/bin/c*t$u+/etc$u/passwd
host=www.google.it;/bin/cat$u+/*tc$u/passwd
host=www.google.it;cd+/etc;/bin/c*t+passwd
host=www.google.com;/bin/ca?+/et?/passwd
host=www.google.com;cat+/etc/${a}passwd
host=www.google.com;cat+/etc/$(echo)passwd
host=www.google.com;cat+/etc/`echo`passwd
host=www.google.com;cat+/etc${a}/passwd
host=www.google.com;cat+/etc$(echo)/passwd
host=www.google.com;cat+/etc`echo`/passwd
host=www.google.com;cat+/etc/passwd${a}
host=www.google.com;cat+/etc/passwd$(echo)
host=www.google.com;cat+/etc/passwd`echo`
host=www.google.com;ca?+/et?/pa??wd
host=www.google.com;cd+etc/+ca?+passwd
host=www.google.com;?at+/?tc/passwd
host=www.google.com;c\\a\\t+/e\\t\\c/pa\\s\\swd
host=www.google.com;cd+/etc;c\\at+p\\a\\sswd
host=www.google.com;cd+/etc;c\'at\'+p\'a\'sswd
host=www.google.com;c$@at /et$@c/pas$@swd
host=www.google.com;c$!at /et$!c/pas$!swd
host=www.google.com;c$*at /et$*c/pas$*swd
host=www.google.com;c$?at /et$?c/pas$?swd
host=www.google.com;c$-at /et$-c/pas$-swd
host=www.google.com;c$_at /et$_c/pas$_swd
host=www.google.com;c$$at /et$$c/pas$$swd';
my $regex = qr/(?:['\*\?\x5c`][^\n\/]+\/|\/[^\/]+?['\*\?\x5c`]|\$[!#-\$\(\*\-0-9\?-\[_a-\{])/mp;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
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 Perl, please visit: http://perldoc.perl.org/perlre.html