Jump to content
php.lv forumi

preg_match


tomaac

Recommended Posts

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 by tomaac
Link to comment
Share on other sites

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

×
×
  • Create New...