|
|||||||||||||||||||||||||||
"Carsten Svaneborg" <sslug@sslug> wrote in message
news:sslug@sslug
> Kaare Rasmussen wrote:
> > m/((?:[_a-z0-9-])+(?:\.[_a-z0-9-]+)*@
> > (?:(?:[a-z0-9]+[a-z0-9-]*)+\.)+(?:[a-z]{2,}))/mg;
>
> \w = [_a-z0-9] alle alfanumeriske chars.
>
> Så vidt jeg forstår er missionen med den første konstruktur at
undgå
> '.' som første char i email, men hvad bare en
negative-look-back
> assertion (?<!.) og (?!.) istedet?
>
> Så hvad med at skrive
> while ($file ~= /(?<!.)(sslug@sslug)(?!.)/gic ) print $1;
>
> Hvor $file er indeholdet i html siden.
>
> Dog vil denne regex også fange emails fra et domæne med mere
> end 2 bogstaver fx. .com osv.
>
Nu fatter jeg ingenting af hvorfor der bliver brugt ?: (har ikke
sat mig ind i perl regex endnu.)
Men anyway...
(?:(?:[a-z0-9]+[a-z0-9-]*)+\.) kan ikke laves om med \w da der
ikke må være _ i et domæne navn og du må ikke have et domæne navn
med - til at starte med (hvilket din såvidt jeg kan se din
tillader).
Og (?:[a-z]{2,}) sørger jo netop for at der er 2 ellere flere
bogstaver i topdomænet så fx .com virker.
Hilsen Jesper
|
||||||||||||||
|
||||||||||||||