$string = "huckabee AND jfkadlsfj fdsfldfj06329 OR reagan AND biden AND clinton OR sebelius OR mccain"; $string =~ s/(^|.+ OR |.+ AND )(.* OR .*)*($| OR .+| AND .+)/$1($2)$3/g;