Regulärere Ausdrücke, die einem das Leben erleichtern

Die folgenden Regulärere Ausdrücke (regular expression, RegEx) können einem das Leben bei vielen Syntax Prüfungen extrem erleichtern. Dennoch möchte ich dazu raten, bei Prüfungen bei denen es um Security geht und nicht nur um einen einfachen Syntaxcheck AUF JEDEN FALL die entsprechenden Module/Klassen der Sprache zu verwenden. Wie zB für die Prüfung und Validierung von eMail-Adressen.

IP-Adresse mit Perl Regex validieren

if (/^\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b\s+/)
{
print "IP OK;
}

IPv4 mit RegEx (alternative)

^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}
([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$

URL mit RegEx validieren

^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*\.)+
([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|
museum|name|nato|net|org|pro|travel)|
(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.)
{3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))
(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?
(#[a-z][a-z0-9_]*)?$

URL mit RegEx validieren — Kürzer, einfacher, nicht so sicher aber meist ausreichend

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+
([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?

HTML Link mit RegEx validieren

<a[^>]*href=\"[^\s\"]+\"[^>]*>[^<]*<\/a>

eMail-Adresse mit RegEx validieren

^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+
([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|
museum|name|nato|net|org|pro|travel)$

Hier sieht man eine der Schwächen der RegEx. Neue TopLevelDomain = Code anpassen
Besser gleich richtig: Prüfung und Validierung von eMail-Adressen.

0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert