Schrift
[thread]5640[/thread]

Regulärer Ausdruck??? (Seite 2)

Leser: 2


<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten
Strat
 2003-08-20 15:59
#71781 #71781
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
fuer das ueberpruefen von Email-Adressen verwende ich recht gerne CPAN:Mail::RFC822::Address, z.B.

Code (perl): (dl )
1
2
3
4
  use/require Mail::RFC822::Address;
  if (&Mail::RFC822::Address::valid(&#36email)) {
    print "ok\n";
  }


Leider ist dieses Modul kein Standardmodul...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2003-08-20 16:06
#71782 #71782
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Zu dem Thema empfehle ich "Prüfen einer E-Mail-Adresse" aus "Reguläre Ausdrücke" von Jeffrey E. F. Friedl... da heißt es u.a.

Quote
Das Prüfen einer Internet-E-Mail-Adresse auf korrekte Sysntax ist ein Thema, das immer wieder auftritt. Leider ist das wegen der Komplexität des Standards alles andere als einfach. Im Prinzip ist es mit einem regulären Ausdruck sogar unmöglich, weil die Kommentare in Adressen beliebig tief verschachtelt sein dürfen. (O ja, E-Mail-Adressen können Kommentare enthalten: Texte in Klammern sind Kommentare.) Wenn wir das soweit einschränken, dass wir nur Kommentare erster Ordnung (also nur eine Verschachtelungstiefe - das gilt für alle Adressen, die mir je untergekommen sind) zulassen, dann sollte es auch mit einer Regex gehen. Versuchen wir's.

Trotz dieser Einschränkung ist das kein Projekt für zarte Gemüter - die Regex wird am Ende 4724 Zeichen lang sein! Zunächst würde man denken, dass etwas einfaches wie \w+\@[.\w]+ funktionieren müsste, aber das Problem ist viel komplizierter.


Edit: Die RE bekommst Du hier\n\n

<!--EDIT|Crian|1061381593-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
[E|B]
 2003-08-20 16:08
#71783 #71783
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Und meins auch noch:

Code: (dl )
m/^([a-zA-z_0-9\-\.]+)(\@)([a-zA-z_0-9\-\.]+)(\.)(\w+)/
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
snadra
 2003-08-20 16:27
#71784 #71784
User since
2003-08-11
265 Artikel
BenutzerIn
[Homepage] [default_avatar]
@[E|B]:
- Wozu brauchst Du die matches? Du benutzt die runden Klammern? Was willst Du mit $1-$5?
- \w enthält alle alphanumerischen Zeichen (A-Za-z0-9_) und nicht nur Buchstaben. es ist am Ende also unangebracht und am Anfang schreibst Du ja selber alle alphanum. Zeichen auf, dort könntest Du \w schreiben...

Siehe mein Post weiter oben, wobei ich den vorhin nur so hingekritzelt habe, ohne mir weitere Gedanken zu machen...
http://hamburg.pm.org
jeden 2. mittwoch im monat
--
#!/usr/bin/perl -w
$l=join('',map chr,(116,110,105,114,112))if$^T;
!!$$?@_=qw(Jhfg Aabgure Prey Hnpxre):$l=1;
for(@_){eval reverse($l)."'"._(_(_($_))).' \''}
sub _{$_=~y+a-z+n-za-m+and pop}
[E|B]
 2003-08-20 16:29
#71785 #71785
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
$1-$5 hatte ich nur geschrieben, weil ich diese in meinem Script weiter verwende... Sorry... Vergessen rauszunehmen.
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
SirLant
 2003-08-20 16:44
#71786 #71786
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Lohnt sich der kauf dieses Buches?
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
snadra
 2003-08-20 16:48
#71787 #71787
User since
2003-08-11
265 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ja, das Buch ist sehr gut... Wenn es um das Buch 'regular expressions' von O'Reilly geht...
http://hamburg.pm.org
jeden 2. mittwoch im monat
--
#!/usr/bin/perl -w
$l=join('',map chr,(116,110,105,114,112))if$^T;
!!$$?@_=qw(Jhfg Aabgure Prey Hnpxre):$l=1;
for(@_){eval reverse($l)."'"._(_(_($_))).' \''}
sub _{$_=~y+a-z+n-za-m+and pop}
Crian
 2003-08-20 16:49
#71788 #71788
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ja, ich hab halt die deutsche Variante davon.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
SirLant
 2003-08-20 16:52
#71789 #71789
User since
2003-08-04
516 Artikel
BenutzerIn
[default_avatar]
Crian, wo gibts die denn?
habe bisher nur die Englische gesehen.
--Programming today is a race between Software Enginers striving to build bigger and better idiot-proof Programs,
and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning!
snadra
 2003-08-20 16:53
#71790 #71790
User since
2003-08-11
265 Artikel
BenutzerIn
[Homepage] [default_avatar]
http://www.oreilly.de/catalog/regex2ger/
Und dank ISBN ind jedem Buchladen bestellbar...
http://hamburg.pm.org
jeden 2. mittwoch im monat
--
#!/usr/bin/perl -w
$l=join('',map chr,(116,110,105,114,112))if$^T;
!!$$?@_=qw(Jhfg Aabgure Prey Hnpxre):$l=1;
for(@_){eval reverse($l)."'"._(_(_($_))).' \''}
sub _{$_=~y+a-z+n-za-m+and pop}
<< |< 1 2 3 >| >> 23 Einträge, 3 Seiten



View all threads created 2003-08-20 15:18.