#!/usr/bin/perl -w use strict; my $String = "Noo S pro NpppT Nop| NPP"; my $LongString = "YYY DDD $String RRR PPP"; my $Pattern1 = qr{N[^P]{2,4}[S|T]}; my $Pattern2 = qr{DDD\s}; for my $m ( $LongString =~ m{($Pattern1|$Pattern2)}g ) { print "Yes! $m\n"; } __END__ Yes! DDD Yes! Noo S Yes! NpppT Yes! Nop|