[ruby-it] ricerca testo.
Gendag
gendag a gmail.com
Mer 4 Apr 2007 09:57:14 CEST
Mauro Sanna wrote:
>> /(?:(?:<(.*?@.*?)>)|\(\?\)) -> <(.*?@.*?)>/
>
> In effetti ci avevo gia' provato, avevo fatto questo
> /<(.*?@.*?)>)|\(\?\) -> <(.*?@.*?)>/ ma non mi funzionava.
> Perche' quei (?:(?: iniziali?
Esistono due tipi di parantesi per raggruppare porzioni di
regexp:
1. le parentesi normali, per esempio quelle in "(.*?@.*?)" creano
una back reference, cioe' quella porzione di regexp puo':
a. essere ripetuta in altre parti della regexp usando \1, \2,
\3, ecc...
b. essere acceduta dall'esterno tramite le variabili $1, $2,
$3, ecc... o se usi un oggetto MatchData m, tramite m[1], m[2],
m[3], ecc...
2. le parentesi (?: regexp ), per esempio quelle in "(?:<(.*?@.*?)>)",
permettono di raggruppare le porzioni di regexp senza creare back
reference. Le ho tuilizzate, cosi' posso raggruppare parti di regexp
ma esistono sempre e solo due back reference agli indirizzi e-mail
da estrarre.
ciao!
Gendag
Maggiori informazioni sulla lista
Ml