tomaac Posted October 4, 2007 Report Share Posted October 4, 2007 Kā pateikt, ka izteiksme NEsākas ar kādu vārdu, bet atbilst kādam šablonam. Nu, piemēram, izteiksme nesākas ar "<atstarpe>BLA<atstarpe>" un atbilst preg_match_all("/([a-z])+\ *\(/i", ...) ? Link to comment Share on other sites More sharing options...
andrisp Posted October 4, 2007 Report Share Posted October 4, 2007 Nesapratu. Tevis dotā izteiksme atbilst tikai šādiem stringiem "bla(", tātad viņa nevar sākties ar "<atstarpe>BLA<atstarpe>". Ko tu īsti gribi izdarīt ? Link to comment Share on other sites More sharing options...
Delfins Posted October 4, 2007 Report Share Posted October 4, 2007 (edited) ^ PS: labāk parādi konkrētu piemēru, kādi ir dati, kas jāsameklē un t.t. Edited October 4, 2007 by Delfins Link to comment Share on other sites More sharing options...
tomaac Posted October 4, 2007 Author Report Share Posted October 4, 2007 (edited) Centīšos paskaidrot labāk: Man šobrīd ira šāds kods: preg_match_all("/([a-z])+\ *\(/i", $str, $matches, PREG_OFFSET_CAPTURE); un tad ciklā ņem tos $matches un kaut ko dara... Bet tagad vajaga izmainīt kodu, lai: 1) ja $str = kaut kads teksts temp function ( ----> tad iekš $matches jānonāk "function (" 2) ja $str = kaut kads teksts somef( ----> tad iekš $matches jānonāk "somef(" 3) ja $str = kaut kads teksts AS function( ----> tad iekš $matches NAV jānonāk "function(", jo pirms tā ir "sliktais teksts" AS Respektīvi - iekš $matches nedrīkst nonākt tie gabali, pirms kuriem ir teksts " AS " Edited October 4, 2007 by tomaac Link to comment Share on other sites More sharing options...
xPtv45z Posted October 4, 2007 Report Share Posted October 4, 2007 (edited) To ko negribi, lai nonāk iekš matches, bet pēc kā ir nepieciešams meklēt, neliec iekavās iekš patern. Bet man liekas probēma tev ir citur. Edited October 4, 2007 by xPtv45z Link to comment Share on other sites More sharing options...
tomaac Posted October 4, 2007 Author Report Share Posted October 4, 2007 Nu, tas, ko negribu, tas jau arī nav tajā izteiksmē... Man tieši vajaga to tur ieliekt, ar piezīmi, ka tam tur nav jābūt. Piemēram, ja $str = fkldddddd AS function( tad šitādam nav jābūt "function(", bet viņš tur ir, jo atbilst regexp izteiksmei. Savukārt, ja $str = fkldddddd function( tad šitam tur ir jābūt "function(", un viņš tur arī ir. Problēma ir tieši tā, ka nemāku uzrakstīt "tam tur nav jābūt". Link to comment Share on other sites More sharing options...
Delfins Posted October 4, 2007 Report Share Posted October 4, 2007 (edited) LABOTS! $p = '/((^| )(?<!AS )[a-z]+\s*)\(/i'; kaut kads teksts AS function ( = false AS function ( = false AS function ( = false kaut kads teksts function ( = true function ( = true function ( = true Edited October 4, 2007 by Delfins Link to comment Share on other sites More sharing options...
Recommended Posts