Hier werbenAnzeigen

Reguläre Ausdrücke zur Korrektur von Benutzereingaben

Reguläre Ausdrücke sind ein extrem mächtiges Werkzeug zur Verarbeitung von Zeichenketten. Nachfolgend möchte ich einige typische Probleme erläutern, die bei der Eingabe von Benutzervariablen auftreten, und deren mögliche Lösung mit regulären Ausdrücken vorstellen:

Mehrfache Leerzeichen
Jeder hat schon einmal unbeabsichtigt Texte geschrieben, in denen sich statt einem gleich mehrere Leerzeichen zwischen zwei Wörter geschlichen haben. Der folgende reguläre Ausdruck findet mehrfach hintereinander folgende Leerzeichen innerhalb eines Textes (darunter die zugehörige Ersetzung):
/\s{2,}/
' '

Mehrfache Satzzeichen
Momentan scheint es in Mode zu sein, sämtliche Satzzeichen gleich in mehrfacher Ausführung an das Ende eines Satzes zu setzen!!!!!!!!!! Wem das nicht gefällt, der bedient sich demselben Muster (darunter die zugehörige Ersetzung):
/!{2,}/
'!'

Leerzeichen vor einem Satzzeichen
Leerzeichen vor einem Satzzeichen lassen sich mit dem folgenden regulären Ausdruck aufspüren (darunter die zugehörige Ersetzung):
/\s+([!\?\.,:;])/
'$1'
Alternativ findet \W alle "non-word" Zeichen:
/\W+([!\?\.,:;])/
'$1'

Beispiele in verschiedenen Programmiersprachen


Reguläre Ausdrücke in PHP:
  1. <?php
  2. $string = 'Ich bin der Coolste von allen!!!!!!!!!';
  3. echo preg_replace('/!{2,}/', '!', $string);
  4. ?>

Reguläre Ausdrücke in Javascript:

  1. var string = 'Ich bin der Coolste von allen!!!!!!!!!';
  2. alert(string.replace(/!{2,}/, '!'));

Reguläre Ausdrücke in Perl:

  1. #!/usr/bin/perl -w
  2. use strict;
  3. use CGI::Carp qw(fatalsToBrowser);
  4. print "Content-type: text/plain\n\n";
  5. my $string = "Ich bin der Coolste von allen!!!!!!!!!";
  6. $string =~ s/!{2,}/!/g;
  7. print $string;

Anzeige
Hier werbenAnzeigen