regular expression "not match"

Tasos Laskos tasos.laskos at gmail.com
Fri Sep 5 14:17:46 EEST 2008


Θοδωρής Λύτρας wrote:
> Στις Παρ 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} .
>
> Γίνεται κάπως?
>
> Ευχαριστώ,
> Θοδωρής
>
---------------------
<?php
$str = 'abcd{efgh}ijkl{xy}z';

preg_match_all( '~{(.*)}~U', $str, $matches );

$output = implode( $matches[1] );

echo $output . "\n";

?>

---------------------
zapotek at zaptop:~/Documents$ php thodoras.php
efghxy
zapotek at zaptop:~/Documents$
---------------------

Alla ayto einai me preg_match_all(), oi ereg_* symperiferonte diaforetika...

Oi preg_* functions xrisimopoioun Perl-compatible syntaksi gia regex.
Oi ereg_* einai POSIX regex.




More information about the Linux-greek-users mailing list