use strict;
my $str = 'AppMessages V2 - Dev
AppMessages V2 - Master
AWS - Octopus Release
Bellhop Model V2 - Dev
Bellhop Model V2 - Master
BellHop Services V2 - Dev
BellHop Services V2 - Master
BellHop V2 - Dev
BellHop V2 - Master
BSG Log4j Extras V2 - Dev
BSG Log4j Extras V2 - Master
BSG-BOM - Dev
BSG-BOM - Master
BSG-BOM V2 - Dev
BSG-BOM V2 - Master
Core Model V2 - Dev
Core Model V2 - Master
Core Services V2 - Dev
Core Services V2 - Master
DealerLocator - Dev
EMS Services V2 - Dev
EMS Services V2 - Master
Entitlements REST API V2 - Dev
Entitlements REST API V2 - Master
Entitlements Services V2 - Dev
Entitlements Services V2 - Master
Entitlements SOAP API V2 - Dev
Entitlements SOAP API V2 - Master
FlexNet Services - Dev
FlexNet Services - Master
GetNodeInfo BusSys-Build-Slave-01
GetNodeInfo BusSys_Corp_Build_Slave
GetNodeInfo Master
Laipac Services V2 - Dev
Laipac Services V2 - Master
LDK Services V2 - Dev
LDK Services V2 - Master
LicenseAdmin - Dev
LicenseAdmin - Master
List All Jobs
Lite Services V2 - Dev
Lite Services V2 - Master
LiteFlexNetIntegration V2 - Dev
LiteFlexNetIntegration V2 - Master
LiteIntegration - Dev
LiteIntegration - Master
Messaging Services V2 - Dev
Messaging Services V2 - Master
MTPConsumer - Dev
MTPConsumer - Master
OptionKeys - Dev
OptionKeys - Master
OptionKeysAPI - Dev
OptionKeysAPI - Master
Panther REST API V2 - Dev
Pools API V2 - Dev
Pools API V2 - Master
Pools Model V2 - Dev
Pools Model V2 - Master
Pools Services V2 - Dev
Pools Services V2 - Master
Preconfigured API V2 - Dev
Preconfigured API V2 - Master
SCL Client V2 - Dev
SCL Client V2 - Master
SentinelCloud Services V2 - Dev
SentinelCloud Services V2 - Master
SubscriptionManager V2 - Dev
SubscriptionManager V2 - Master
TermsOfService - Master
Test Support V2 - Dev
Test Support V2 - Master
Tid Services V2 - Dev
Tid Services V2 - Master
Upload templates to S3 - branch2Dev
Upload templates to S3 - Dev
Upload templates to S3 - Master
Upload templates to S3 - Test
VirtualWarehouse - Dev
VirtualWarehouse - Master
VirtualWarehouse Services V2 - Dev
VirtualWarehouse Services V2 - Master
VW Lite API - Dev
VW Lite API - Master
VW Remedy Events - Dev
VW Remedy Events - Master
VW Remedy Events Consumer - Dev
VW Remedy Events Consumer - Master
VW Remedy Events Lib - Dev
VW Remedy Events Lib - Master
VW Scheduled Tasks V2 - Dev
VW Scheduled Tasks V2 - Master
VW Sentinel V2 - Dev
VW Sentinel V2 - Master
VW Subscriptions V2 - Dev
VW Subscriptions V2 - Master
VW5 - Dev
VW5 - Master
WooCommerce API V2 - Dev
WooCommerce API V2 - Master
WooCommerce Model V2 - Dev
WooCommerce Model V2 - Master
WooCommerce Services V2 - Dev
WooCommerce Services V2 - Master';
my $regex = qr/^((?!V2).)*- Master\s*$/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