3v4l.org

run code in 500+ PHP versions simultaneously
<?php $re = '`substr\([^()]*\)\h*(?:=\h*\'[^\']*\'|IN\h*\([^()]*\))`mi'; $str = <<<STR SELECT * FROM tbl WHERE col_a = 'abc' AND SUBSTR(col_b, 7, 2) = 'cd' AND col_c LIKE 'ACD0%' AND SUBSTR(col_d, 10, 1) IN ('A','B','C') AND SUBSTR(col_e, 5, 3) = 'cde' AND SUBSTR(col_f, 2, 1) IN ('C','D','E') STR; preg_match_all($re, $str, $matches, 0); print_r($matches[0]);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.34, 8.2.0 - 8.2.31, 8.3.0 - 8.3.31, 8.4.1 - 8.4.22, 8.5.0 - 8.5.7
Array ( [0] => SUBSTR(col_b, 7, 2) = 'cd' [1] => SUBSTR(col_d, 10, 1) IN ('A','B','C') [2] => SUBSTR(col_e, 5, 3) = 'cde' [3] => SUBSTR(col_f, 2, 1) IN ('C','D','E') )

preferences:
69.71 ms | 1297 KiB | 4 Q