use strict; use warnings; my $string = "that bab"; print "Match: $1 => $2" if $string =~ m/(that).+((??{ '[' . $1 . ']' }))/; __OUTPUT__ Match: that => a