fork download
  1. <?php
  2.  
  3. $subject = 'customers.id NOT IN (SELECT MAX(customers_service.customer_id))
  4. customers.id NOT LIKE (SELECT MAX(customers_service.customer_id))
  5. id NOT IN (SELECT MAX(customers_service.customer_id))
  6. id IN (SELECT MAX(customers_service.customer_id))';
  7.  
  8. $pattern = '~
  9. (?(DEFINE)(?<KEYWORD>
  10. (?:NOT(?:\s+(?:IN|LIKE))?|IN|LIKE|BETWEEN|REGEXP|IS(?:\s+NOT)?|XOR)\b
  11. ))
  12. (?<![.\w@-])(?!(?&KEYWORD))[\w@-]+\s+(?&KEYWORD)\s*
  13. ~ix';
  14.  
  15. print(preg_replace($pattern, 'XXX', $subject));
  16.  
  17. ?>
Success #stdin #stdout 0.02s 13112KB
stdin
Standard input is empty
stdout
customers.id NOT IN (SELECT MAX(customers_service.customer_id))
customers.id NOT LIKE (SELECT MAX(customers_service.customer_id))
XXX(SELECT MAX(customers_service.customer_id))
XXX(SELECT MAX(customers_service.customer_id))