$re = '/insert\s+into\s+casi_tassazione\s+(\(.+?\))\s+values\s+(\(.+\));/mi';
$str = 'INSERT INTO CASI_TASSAZIONE (ID_CSTASS, ID_DCHFIS, ESERCIZIO, PROGRESSIVO, ID_PARENT_CSTASS, NO_REINTIMAZIONE, ID_PERGIU, ID_STORGN, TASSAZIONE_UFFICIO, ID_OWNER, ID_WORKER, ID_UNTORG, PRIMO_GIORNO_ESECZ, ULTIMO_GIORNO_ESECZ, DATA_CAMBIO_STORGN, DATA_INS, INS_USERID, DATA_UPD, UPD_USERID) VALUES (100001, 100000, 2009, 0, NULL, 0, 100001, 2, 0, 10000, 10000, @idUnitaOrganizzativa, \'2009-01-01\', \'2009-12-31\', \'2009-04-24\', \'2009-04-24 10:09:07.115\', \'JUNIT\', \'2009-04-24 10:09:09.894\', \'JUNIT\');
INSERT INTO CASI_TASSAZIONE
(ID_CSTASS, ID_DCHFIS, ESERCIZIO, PROGRESSIVO, ID_PARENT_CSTASS, NO_REINTIMAZIONE, ID_PERGIU, ID_STORGN, TASSAZIONE_UFFICIO, ID_OWNER, ID_WORKER, ID_UNTORG, PRIMO_GIORNO_ESECZ, ULTIMO_GIORNO_ESECZ, DATA_CAMBIO_STORGN, DATA_INS, INS_USERID, DATA_UPD, UPD_USERID) VALUES (100001, 100000, 2009, 0, NULL, 0, 100001, 2, 0, 10000, 10000, @idUnitaOrganizzativa, \'2009-01-01\', \'2009-12-31\', \'2009-04-24\', \'2009-04-24 10:09:07.115\', \'JUNIT\', \'2009-04-24 10:09:09.894\', \'JUNIT\'),(ID_CSTASS, ID_DCHFIS, ESERCIZIO, PROGRESSIVO, ID_PARENT_CSTASS, NO_REINTIMAZIONE, ID_PERGIU, ID_STORGN, TASSAZIONE_UFFICIO, ID_OWNER, ID_WORKER, ID_UNTORG, PRIMO_GIORNO_ESECZ, ULTIMO_GIORNO_ESECZ, DATA_CAMBIO_STORGN, DATA_INS, INS_USERID, DATA_UPD, UPD_USERID) VALUES (100001, 100000, 2009, 0, NULL, 0, 100001, 2, 0, 10000, 10000, @idUnitaOrganizzativa, \'2009-01-01\', \'2009-12-31\', \'2009-04-24\', \'2009-04-24 10:09:07.115\', \'JUNIT\', \'2009-04-24 10:09:09.894\', \'JUNIT\');
';
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