$re = '/(?:(?=ab|bc|cd|de|ef|fg|gh|hi|ij|jk|kl|lm|mn|no|op|pq|qr|rs|st|tu|uv|vw|wx|xy|yz).){2,}./m';
$str = 'abc - match abc
def - match def
lmnop - match lmnop
xxxxghixxxx - match ghi
ab - no match (not long enough)
zyx - no match (not in order)
q r s - no match (interceding chararacters)
tuwx - no match (missing v)
abcxxxdefghxxxabxyz
ababab
abcghixyz
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
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 PHP, please visit: http://php.net/manual/en/ref.pcre.php