[Php-it] [OT regex] Un'altro caso di regex inadempiente...

Domenico L. domenico.lorusso at pleiade.it
Tue Nov 28 15:25:01 CET 2006


Domenico L. ha scritto:
> ________________SPONSOR______________
> Spazio pubblicitario libero.
> mail a info a ziobudda.net
>
>
>
> ________________SPONSOR______________
>
> Matteo Beccati ha scritto:
>>
>> Tassoman (mailing) ha scritto:
>>> No quelli servirebbero per discriminare le eccezioni, cioe quando ho
>>>
>>> ^NN###altrochenonmiserve
>>> ^NN##INIZIALAPAROLACONLAI
>>>
>>> io voglio recuperare tutto il testo dopo NN## solo quando non inizia 
>>> per
>>> I o non inizia per cancelletto
>>>
>>> Solo che quando discrimino in quella maniera, mi ciuccia il char
>>> iniziale dalla mia stringa estratta. o_O?
>>
>> Allora mettilo dentro le parentesi ;)
> giusto
> preg_match_all('/^[0-9]{2}##([^#|][^|]+)\|?$/mU',$testo,$ar)
>
> $result=implode('', $ar[1])
>
> Dovrebbe funzionare
>
Stavo lavorando su un altra cosa quando mi sono imbattuto in un problema 
analgo... ci ho guardato un po' sopra e mi sono accorto che 
probabilmente l'espressione non funziona al 100% avendo problemi con 
l'ultimo pipe
Al fine di trovare qualche delucidazione sottopongo queste 2 er:

$testo='ciao|
miao§
Maus
ciaps
';


preg_match_all('/([^|]+)\|?/m',$testo,$ar); print_r($ar); => otteniamo 
il risultato voluto

preg_match_all('/([^|]+)\|?$/m',$testo,$ar); print_r($ar);=> ci tronca 
tutta la prima riga fino al carattere \n

come mai?


-- 
Domenico L.                             icq: 645 44 861

per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]



More information about the Php-it mailing list