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