use strict; use warnings; $_ = 'stuffABC Xmorestuff'; if (/((A(?:B(?:C(?:\s+(?:X(?:Y(?:Z)?)?)?)?)?)?))/) { print "Searched for 'ABC\\s+XYZ' but only found $1"; }