tomaac Posted September 18, 2007 Report Share Posted September 18, 2007 (edited) Ir sekojoša izteiksme: (sākas ar burtiem, tad seko patvaļīgs skaits atstarpes, tad atverošā iekava, kaut kad ir aizverošā iekava, starp iekavām var būt jebkas, aiz tā visa patvaļīgs skaits atstarpju utt.) preg_match("/([a-z])+\ *\(.*\)\ *(AS\ \".*\")?/i", $str, $matches, PREG_OFFSET_CAPTURE); Ja $str = 'select CONCAT(table.field, ' ', table.field) from table', tad $matches rezultātā saturēs divas vērtības: 1) CONCAT(table.field, ' ', table.field) 2) T A man vajadzētu tikai vienu... (pirmo), ko darīt? Edited September 18, 2007 by tomaac Link to comment Share on other sites More sharing options...
tomaac Posted September 18, 2007 Author Report Share Posted September 18, 2007 Tikko pamanīju, ka arī šajā gadījumā strādā nepareizi: select CONCAT (table.field, ' ', table.field), CONCAT (table.field, ' ', table.field), now() from table Tad $matches būtu jāsatur trīs elementus, bet atdod vienu elementu CONCA (table.field, ' ', table.field), CONCAT (table.field, ' ', table.field), now()... T.i., man vajaga tādu reg izteiksmi, kas nodala selecta kolonnas ar funkcijām vienu no otras... Link to comment Share on other sites More sharing options...
Recommended Posts