use strict;
my $str = 'plugins/advanced-responsive-video-embedder
plugins/arve-amp
plugins/arve-pro
plugins/arve-random-video
plugins/arve-sticky-videos
plugins/boilerplate
plugins/classic-editor
plugins/composer-local
plugins/debug-bar
plugins/debug-bar-actions-and-filters-addon
plugins/debug-bar-constants
plugins/debug-bar-shortcodes
plugins/debug-bar-slow-actions
plugins/disabler
plugins/edd-better-checkout
plugins/edd-bootstrap-styles
plugins/example2
plugins/gutenberg
plugins/gutenberg-boilerplate
plugins/jd-shortcode
plugins/n-arve-divi-workaround
plugins/n-arve-divi-workaround.zip
plugins/n-arve-invidious
plugins/n-arve-rest-api
plugins/n-arve-videojs';
my $regex = qr#^(?!plugins/(arve-|advanced-re|edd-)).+#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