Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] RE-Micro-FAQ



Hi



I've written a "Micro-FAQ" for Regular Expressions. As Master-Timer uses
Regular Expressions for nearly everything i tought this could be of use
for people not familier with Regular Expressions.


Sorry for all non-germans, I've only written a german-version.



-- schnippel --
Micro-FAQ von Regulaeren-Ausruecken
-----------------------------------

Die Leute die mit den Regulaeren-Ausdruecken von Perl vertraut sind koennen
diese Datei einfach ueberspringen. :-)

Erstmal ein bisschen zur Begrifflichkeit
Ich werden im folgenden Regulaere-Ausdruecke kurz als "RE" bezeichnen.

Das Auswerten einer RE wird als "matchen"((zu)treffen) bezeichnet.

Der RE ist ein Muster das auf einen String gematcht wird.
Wenn eine RE "matcht" dann passt das Muster vollstaendig mit dem Test-String.

z.B.
Titel: "Star Trek: Deep Space Nine"
RE: "Deep Space Nine"
Ergibt einen Treffer da die RE vollstaendig im Test-String vorkommt.


1) Wildcards
Das wichtigste Wildcard ist der Punkt (.). Ein Punkt matcht auf alles(*1)
\s	Ein Whitespace (Fuer Master-Timer ist das nur das Leerzeichen)
\S	Nicht Whitespace (Alles was kein Leerzeichen ist)
\d	Ziffer (0 bis 9)
\w	Alphanumerisches Zeichen (a-z 0-9.)

2) Quantifier
Ein Quantifier sorgt dafuer das das Muster links von ihm mehrfach oder nicht
gematchtet wird

?	Matcht 0 oder 1x
*	Matcht 0 bis unendlich mal
+	Matcht 1 bis unendlich mal
{x,y}	Matcht x bis y mal
  Wobei x oder y weggelassen werden koennen.
  Dann wird 0 fuer X und Unendlich fuer Y verwendet.

z.B.
a?	0 bis 1 a)
.+	1 bis unendlich beliebige zeichen)
b{4,5}	4x oder 5x das Zeichen b

Das "wichtigste(tm)" fuer die meisten ist also ".*" oder ".+".

3) "Anker"
Unter einem Anker versteht man ein matchen wo kein Zeichen sondern ein
bestimmer Zustand ist.

^	Zeilenanfang (Muss als erste in der RE stehen)
$	Zeilenende (Muss als letztes in der RE stehen)

z.B.
Titel: "Star Trek: Deep Space Nine"
RE:	"^Star Trek"
oder
RE: 	"Space Nine$"
Oder
RE:	"^Star Trek: Deep Space Nine$"




*1: Fuer Master-Timer sind die Ausnahmen nicht relevant.
-- schnippel --




Bis denn

-- 
Real Programmers consider "what you see is what you get" to be just as
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated,
cryptic, powerful, unforgiving, dangerous.




-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index