Reguläre Ausdrücke

Aus Tiohs Tutorials

Wechseln zu: Navigation, Suche

#!/use/bin/perl

use strict;
use warnings;

# Alle Dateine, die als Kommandozeilenoperator übergeben wurden, 
# nacheinander öffnen

while (<>) {
  if ($_ =~ /cat/) {
    print $_;
  }
}


Weitere Möglichkeit für die While-Schleife: while (my $line = <>) {

   print $line if $line =~ /cat/;

}


Beispiele:

/cat$/ #cat am ende der Zeile /\bcat\b/ #nur einzelne wörter \b Wortgrenze /^cat/ #cat am Zeilenanfang /^(cat)*$/ #Zeilen in denen nur cat - egal wie oft - steht /cat|dog/ #cat oder dog vorhanden

/cat/i #Groß- Kleinschreibung ignorieren Funktioniert nicht bei Üblauten, Sonderzeichen [a-z] #US-ASCII alle Zeichen a bis z [a-zäöüÄÖÜß] #mit D Sonderzeichen


Perl findet bei * den maximalen Ausdruck. Um das kleinste Match zu finden kann es mit *? umgeschalten werden.

Tastaturbelegung xserver anzeigen/ändern mit xmodmap -pke | less xev kann keycode einer Taste auslesen Neu belegen, beispiel: xmodmap -e 'keycode 117 = a' xmodmap -e 'keycode 117 = Multi_key' Multi_key, ", a ergibt ä Multi_key, AltGr, e ergibt Eurozeichen


/^$/ #Nur leere Zeilen finden /^ *$/ #Auch leere Zeilen mit Leerzeichen

$& enthält den Treffer

perldoc perlre

Bei cat Steuerzeichen mit ausgeben: cat -A datei

/^\s*$/ #Alle Leerzeilen Windows, Unix, Mac

S/\r//;| #entfernt alle vorkommen von \r chomp; # -" -

Dostext nach Unixtext mittels fromdos Gegenrichtung todos ist bei sysutils und Debian

recode latin1..ibmpc Linux-Paket recode latin1 in Dos-Zeichensatz konvertieren

recode -l Codierungen anzeigen, die recode unterstützt

Ausführungszeit messen mit time time ./regex.pl datei.text > /dev/null

C-Code in Perl einbinden mit CPAN-Modul Inline::C

Hilfe zu fork(), threads in perldoc perlipc thrtut

Persönliche Werkzeuge