regular expression "not match"

Θοδωρής Λύτρας thlytras at gmail.com
Fri Sep 5 13:19:56 EEST 2008


Στις Παρ 05 Σεπ 2008, ο/η Tasos Laskos έγραψε:
> PHP example:
> -------------------------
> <?php
>
> $str = 'abcd{efgh}ijkl{xy}z';
>
> preg_match_all( '~{(.*)}~U', $str, $matches );
>
> print_r( $matches );
>
> ?>
> ------------------------
>
> Esy 8es ayto "~{(.*)}~U", to "U" modifier simenei ungreedy...

Δυστυχώς, φοβάμαι πως όχι...

<?php
$str = 'abcd{efgh}ijkl{xy}z';
$regexp= '~{(.*)}~U';
echo ereg_replace($regexp,'',$str);
?> 

output: 	abcd{efgh}ijkl{xy}z
για $regexp='{.*}';		abcdz
για $regexp='{.*}~U';	abcd{efgh}ijkl{xy}z

εγώ το output που θέλω είναι το efghxy (ή έστω το {efgh}{xy} και να πετάξω 
μετά τις αγκύλες)

Και για να ξαναπρολάβω τον Ρικούδη, αν το string ήταν abcd{{efgh}ijkl{xy}}z θα 
ήθελα το {efgh}ijkl{xy} .

Γίνεται κάπως?

Ευχαριστώ,
Θοδωρής

-- 
"Beauty is transitory"
"Beauty survives"
        - Mr. Spock & Capt. Kirk, "That which survives", stardate unknown
by Theodore Lytras <thlytras at gmail.com>


More information about the Linux-greek-users mailing list