Rytą. Pradžiai tai skaitiniai: http://www.codinghorror.com/blog/2008/06/regular-expressions-now-you-have-two-problems.html Nes nu o tikrai: kam? PHP turi puikių XML parser'ių. O juk gali būti <li > gražus tekstas <!-- </li> --> <> nes nu tikrai < // ar čia li, ar klaida > </ li> Paprastas, nebūtinai visada teisingas, sprendimas pirmam: |<li>(.*)</li>|Ui Naudoti su preg_match_all Antram. Nežinau paprasto sprendimo. POSIX'inis reguliarių išraiškų standartas numato longest match, bet tai irgi gali neatitikti siekio. Grupavimas kaip toks yra aukščiau kalbų grandinėje už reguliariumą. Ir XML parse'inimas turėtų būti laikomas context-sensitive, nors galima rasti darbų, kur XML parserius parašo išimtinai reguliariomis išraiškomis. -- JB On 2010.05.19 14:57, gopas wrote: > sveiki, > > keletas tokiu klausimu: > > 1. turiu sakykim stringa<li>aaaa</li><li>bb<>bbb</li><li>ccccccc</li> > reikia isrinkti visus kas yra tarp<li> ir</li>. rasyciau kaip ir taip: > /<li>(.[^>]*)<\/li>/, bet tuomet<li>bb<>bbb</li> iskrenta, nes cia viduryje yra<>. > kaip reiktu teisingai parasyt? /<li>(.[^(<\/li>)]*)<\/li>/ nepadeda... > > 2. sakykim turiu<div><div><table></table></div></div>. ar imanoma isrinkti > teisingai nuo pradzios pirmo div'o iki pabaigos pirmo div'o? ta prasme, kad > gautusi<div><table></table></div>. ar cia gudriai reiketu apsirasynet, kad > regexp'as suprastu kur atsidaranciojo tag'o pabaiga? > > aciu.