Schaltungen suche

http://sites.schaltungen.at/googel-suche/schaltungen-suche

http://www.linksammlung.info/

http://www.schaltungen.at/

                                                                                        Wels, am 2017-01-07

BITTE nützen Sie doch rechts OBEN das Suchfeld  [                                                              ] [ Diese Site durchsuchen]

DIN A3 oder DIN A4 quer ausdrucken
*******************************************************************************I**
DIN A4  ausdrucken   (Heftrand 15mm / 5mm)     siehe     http://sites.schaltungen.at/drucker/sites-prenninger
********************************************************I*
~015_b_PrennIng-a_googel.suche-schaltungen.suche (xx Seiten)_1a.pdf


                      VOLLTEXTINDEX

Siehe auch in
http://sites.schaltungen.at/regex-suche/regex
I
n GOOGLE wird mit Volltext-Index (full-text index) gesucht


Ein Volltext-Index ist ein Register, das jedes einzelne Wort aus sämtlichen verzeichneten Dokumenten enthält.

Ein populärer Irrglaube ist, dass Volltextindizes grundsätzlich besser sind als von Menschen erstellte Ordnungssysteme.
Ein weniger populärer Irrglaube ist, dass Volltextindizes nur verwendet werden (sollten), wenn Zeit und Geld für ein funktionierendes Ordnungssystem fehlen
– eher richtig ist es, dass "Volltextindexierung" nicht gegen Ordnungssysteme bestehen kann.
https://de.wikipedia.org/wiki/Volltextindexierung


CMOS-555-Timer-IC AND Toggle-FlipFlop   sucht nach den 6 Worten  CMOS  555  Timer  IC  AND   Toggle  FlipFlop
"CMOS-555-Timer-IC" AND "Toggle-FlipFlop"  sucht nach genau den Begriffen

Suchmuster bestehend aus * Sternchen und Fragezeichen ?
  ??555  sucht nach NE555  LM555
???555  sucht nach LMC555  TLC555
    *555  sucht nach 555  NE555 LM555   LMC555  TLC555


Seiten = das alleinstehende Wort  seiten  muss vorkommen      findet 2.418 Dokumente
*Seiten ODER (*Seiten)  = alles was mit Seiten aufhört   z.B. ... Internetseiten     findet 2.576 Dokumente
* Seiten ODER (* Seiten)  die Suche mit Leerzeichen heißt "IRGENDWAS _oder_ Seiten" ... ergibt praktisch ALLES!
Klammern sind NICHT im Index (weil kein Wort) - also im Volltextindex danach suchen ist sinnlos!
Klammern sind in Volltextindexsuche wie in der Mathematik
(haus~ AND -hausbau) OR haushalt
tilde = ungenaues haus z.B. haushalt  aber nicht hausbau (wegen minus) oder eben haushalt


~ tilde  ähnliche suche
Mayr~    findet z.B. MAYR Mayrs Mayr  Mayer Mair Mahr May Mair 

555~  findet die Zahlen z.B. NE 555  NTE-555  LMC55  CMOS-555  5550  556  558


Aus MS-DOS Zeiten
dir *.doc
copy *.??t c:\temp


PDF-Dokumente mit Windows Desktop Search durchsuchen
https://www.windowspro.de/wolfgang-sommergut/pdf-dokumente-windows-desktop-search-durchsuchen





********************************************************I*
                        http://sites.schaltungen.at/regex-suche

      / REGULÄRE AUSDRÜCKE für Anfänger

Das Durchsuchen von Texten nach bestimmten Stellen ist eine der Standardaufgabe.
             Dazu gibt es die Metaspracheder regulären Ausdrücke.

            Zusammenfassung der RegEx-Bestandteile
300_d_RegEx-x_Regular Expressions Zusammenfassung (42 Seiten)_1a.pdf

BeBeispiel-Regex
Vorfahrtsregeln
Die eckige Klammer bindet stärker als die runden.
Stern, Pluszeichen und Fragezeichen binden stärker als Hintereinanderschreiben, d.h. ab* bedeutet a(b*) und nicht (ab)*.
Der senkrechte Strich bindet schwächer als Hintereinanderschreiben, d.h. ab|c  bedeutet (ab)|c und nicht a(b|c).
Mehrere Sterne, Pluszeichen oder Fragezeichen  oder aus diesen Zeichen unmittelbar zusammengesetzte Kombinationen dürfen nicht vorkommen.


              RegExp   Reguläre Ausdrücke
https://wwwlehre.dhbw-stuttgart.de/~vilas/RegExp.pdf


Vorrang-Regeln
● Die eckigen Klammern binden stärker als die runden.
● Stern, Pluszeichen und Fragezeichen binden stärker als Hintereinanderschreiben, d.h. ab* bedeutet a(b*) und nicht (ab)*
● Der senkrechte Strich bindet schwächer als Hintereinanderschreiben, d.h. ab|c bedeutet (ab)|c und nicht a(b|c)
Mehrere Sterne, Pluszeichen oder Fragezeichen oder aus diesen Zeichen unmittelbar zusammengesetzte Kombinationen dürfen nicht vorkommen


/                   Startzeichen für einen regulären Ausdruck
                    Leerzeichen
/...-               z.B. Bio-    . = Jokerzeichen findet 3 beliebige Zeichen und einen Bindestrich
^                   negation
/\d\d\d\d .*   z.B. 4321 Kurzanl....           am Anfang einer Zeile wird nach 4 Ziffern gesucht - gefunden wird z.B. die Zahl 4321
/.*555$         z.B  Stromb....mer NE555   Ende einer Zeile $  es wird nach der Zahl 555 gesucht
/.*                                                             0 bis alle Zeichen
/.+                                                            1 bis alle Zeichen
/.?                                                             0 oder genau 1 Zeichen
/.* LM.{3}    findet LM & 3 Zeichen

/.{3,}           findet min. 3 Zeichen
/.* .{0,3}      z.B. FAQ        findet max. 3 Zeichen
/.* .{2,6}     z.B. DORIS     findet 2 bis 6 Zeichen
/[@üöäß]    findet ein Zeichen aus der Liste @..ß
/[a-z]          findet ein Zeichen von a bis z
/[0-9]          Suche ein Ziffer von 0 bis 9
/[[:alpha:]]  Suche einen Buchstaben
/[[:punct:]]  Suche nach einem Punkt
/[[:digit:]]    Suche eine Zahl
/[[:space:]] Suche nach einem Whitespace
/.*[re)] .*        alles mit Klammern   beim Suche nach ) gefolgt von einem
Leerzeichen


^ Beginn einer Zeichenkette.
$ Ende einer Zeichenkette
. Jedes beliebige Zeichen
[ Anfang einer Zeichendefinition
] Ende der Definition
( Beginn eines Suchausdrucks.
) Ende eines Suchausdrucks.
{ Beginn Anzahl-definition.
} Ende einer Anzahl.
| Das „Oder“ zwischen zwei Ausdrücken.
\ Ein Zeichen maskieren, damit danach gesucht werden kann.
* Das vorangegangene Zeichen tritt kein oder mehrmals auf.
? Das vorangegangene Zeichen tritt keinmal oder einmal auf.
+ Das vorangegangene Zeichen tritt einmal oder mehrmals auf.

https://www.maclife.de/news/geniale-tipps-tricks-bessere-erfolgreiche-suche-bearbeitung-dateien-10065353.html



^     steht für den Zeilenanfang (nicht zu verwechseln mit ^ bei der Zeichenauswahl mittels [ und ]).
$     kann je nach Kontext für das Zeilen- oder Zeichenketten-Ende stehen, wobei bei manchen Implementierungen noch ein „\n“ folgen darf. Das tatsächliche Ende passt zu \z.
\     hebt gegebenenfalls die Metabedeutung des nächsten Zeichens auf (siehe Maskierungszeichen). Beispielsweise lässt der Ausdruck (A\*)+ die Zeichenketten „A*“, „A*A*“ usw. zu.  Auf diese Weise lässt sich auch ein Punkt „.“ mit \. suchen, während nach \ mit \\ gesucht wird.
\b    leere Zeichenkette am Wortanfang oder am Wortende
\B    leere Zeichenkette, die nicht den Anfang oder das Ende eines Wortes bildet
\<    leere Zeichenkette am Wortanfang
\>    leere Zeichenkette am Wortende
\n    ein Zeilenumbruch im Unix-Format
\r    ein Zeilenumbruch im (alten, d. h. vor dem Jahr 1999) Mac-Format
\r\n ein Zeilenumbruch im DOS- und Windows-Format
\t    ein Horizontal-Tabulatorzeichen

https://de.wikipedia.org/wiki/Regulärer_Ausdruck







********************************************************I*
                              RegEX
1. Überblick
1.1 Was sind Reguläre Ausdrücke?

Eine der nützlichsten Eigenschaften von Perl (wenn nicht die nützlichste Eigenschaft) ist das mächtige String-Handling.
Reguläre Ausdrücke oder Regular Expressions sind dabei eines der mächtigsten Werkzeuge in Perl und mittlerweile auch einigen anderen Programmiersprachen, so VB.NET.
Damit können bestimmte Muster in einem Text gesucht und auch ersetzt werden.
Zum Beispiel kann man mit einfachen Mitteln testen, ob ein String wie eine Email-Adresse aussieht.
Reguläre Ausdrücke können auch als komplexe Suchausdrücke verwendet werden und um große Datenbestände zu durchsuchen.

Reguläre Ausdrücke sind allerdings für Neulinge, die nicht aus der Unix-Welt kommen, sehr ungewohnt und einer der Hauptgründe dafür, warum in manchen Perl-Scripts ziemlich merkwürdige, kryptisch anmutende Zeichenfolgen vorkommen.
Trotzdem lässt sich das Grundprinzip relativ einfach verstehen und zur Erleichterung der Programmierarbeit einsetzen.

1.2 Anwendungsbeispiele
Reguläre Ausdrücke sind an vielen Stellen in der Programmierung sinnvoll und können dem Programmierer dabei die Arbeit stark erleichtern, den Quellcode kürzer und übersichtlicher machen.
Angewendet werden reguläre Ausdrücke zum Beispiel
      zur Überprüfung von Benutzereingaben (Email-Adressen, URLs, Adressen, Benutzernamen, Datumseingaben, etc.),
     zur Verarbeitung von String-Daten (Systemzeit, Datei-Lese-Vorgänge, etc.),
     zum Suchen und Ersetzen innerhalb von Texten,
     zum Zerlegen von Strings nach vorgegebenen Mustern,
     zum Parsen von Texten

...

2. Aufbau regulärer Ausdrücke
Ein regulärer Ausdruck ist allgemein ein Muster (engl. Pattern), das mit dem zu untersuchenden String verglichen und auf Übereinstimmungen (Matches) überprüft wird.

2.1 Zeichen/Zeichenfolgen/Zeichenklassen
Beginnen wir mit einem einfachen Beispiel, der Überprüfung, ob ein String den Buchstaben "b" enthält.
Der entsprechende reguläre Ausdruck dazu sieht folgendermaßen aus:
b
Was bedeutet dies nun genau?
Die RegEx-Maschine durchsucht einen String von links nach rechts und überprüft, ob der Buchstabe "b" auftritt.
Der Ausdruck passt (matcht) also auf "Buchstabe" oder "bla bla bla", aber nicht auf "Zahl" oder "Buch" (Groß-/Kleinschreibung wird unterschieden!).
Genauso lässt sich auch das Auftreten einer Zeichenfolge testen:
test
passt zum Beispiel auf "getestet" und "testen".
Eine weitere Möglichkeit, das Auftreten von Buchstaben zu überprüfen sind sogenannte Zeichenklassen.
Dabei kann man eine Gruppe von Zeichen zusammenstellen, die alternativ vorkommen können.
[abc]
passt dementsprechend auf jeden String, der entweder ein a, b, oder c enthält.
Die gesamte Klammer stellt also nur ein Zeichen im Suchmuster dar.
Dieses Verfahren lässt sich auch genau umgekehrt verwenden:

[^abc]  steht für ein beliebiges Zeichen außer a, b und c.
Außerdem lassen sich in Zeichenklassen auch Bereiche angeben:
[a-z]  matcht also einen beliebigen Kleinbuchstaben.

2.2 Platzhalter und Steuerzeichen
In vielen Fällen, kann oder will man allerdings die zu findenden Zeichen nicht so genau angeben, sondern auch beliebige Zeichen erlauben.
Dazu existiert in regulären Ausdrücken der Punkt . als Metazeichen, das standardmäßig alle Zeichen außer dem Zeilenumbruch findet.
a.
passt also auf "an" oder "ab" etc.

Oftmals möchte man aber nicht unbedingt alle Zeichen erlauben, sondern nur Buchstaben oder nur Zahlen.
Auch dafür gibt es in regulären Ausdrücken Kurzformen:

String Bedeutung Erklärung
\d       digit             Ziffern 0 bis 9
\D                         jedes Zeichen außer 0 bis 9
\w       word           Wort-Zeichen sind Buchstaben a, Ziffern 0 und der Unterstrich _
\W                        alles außer den Zeichen von \w       /.* \W\W\W .*    findet ***
\s       space          Leerzeichen, Tabulatoren oder Zeilenumbruch
\S                         alles außer \s
Tabelle 2. 1 : Spezielle Zeichenklassen

\d       matcht zum Beispiel eine beliebige Ziffer.

2.3 Klammern und Alternativen
Grundsätzlich können in regulären Ausdrücken runde Klammern gesetzt werden, um bestimmte Abschnitte zusammenzufassen.
Besonders hilfreich ist das, um Alternativmöglichkeiten anzugeben.
Diese werden in Klammern gesetzt und durch einen senkrechten Strich (Pipe) | getrennt:  
(ab|an)geben
matcht z.B. "angeben" und "abgeben".

2.4 Quantifiers (Wiederholungsoperatoren)
Zeichenwiederholungen können in regulären Ausdrücken mit Wiederholungsoperatoren gekennzeichnet werden.

Das Fragezeichen ? bedeutet: das Zeichen vor dem Fragezeichen oder auch nicht.
aus?
matcht also "aus" und "au".

Das Pluszeichen + bedeutet: eine oder mehrere Wiederholungen des Zeichens, das vor dem Pluszeichen steht.
aus+
matcht also "aus", "auss", "ausss", etc.

Das Sternzeichen * bedeutet: keine, eine oder mehrere Wiederholungen des Zeichens, das vor dem Sternzeichen steht.
aus*
matcht also "au", "aus", "auss", etc.

Wenn vor den Zeichen + oder * ein Punkt . steht (der für ein fast beliebiges Zeichen steht), erzeugt man einen Platzhalter, der dem * Platzhalter in der DOS/Windows-Welt, etwa bei Dateinamen, oder auch bei der Google-Suche entspricht:
aus.*
findet "aus", "ausgeben", "ausgehen", "ausfahrbar" etc.

{  }
Geschweifte Klammern mit einer Zahl oder zwei durch Komma getrennten Zahlen darin stehen für Wiederholungen des Zeichens vor der geschweiften Klammer an der betreffenden Stelle.
Dabei können Sie auch das Punktzeichen vor der geschweiften Klammer notieren.
In diesem Fall bedeutet die Angabe innerhalb der geschweiften Klammer: so viele beliebige Zeichen wie angegeben.
Die erste Zahl in den Klammern bedeutet dabei die Mindest-, die zweite die Höchst-Anzahl an Zeichen.
x{3,6}
matcht zwischen 3 und 6mal "x".
Wird eine der beiden Zahlen weggelassen, so gilt entsprechen nur eine Mindest- bzw. Höchstzahl, also
x{3,}
für 3 und mehr "x" bzw.
x{,5}
für 0 bis 5 "x".
Wird nur eine Zahl ohne Komma notiert, so gilt diese als genaue Anzahl an Zeichen:
x{7}
matcht genau 7mal "x".
Alle der aufgeführten Quantifiers (Wiederholungsoperatoren) gelten dabei nicht nur für einzelne Zeichen, wie in den bisherigen Beispielen, sondern lassen sich auch auf geklammerte Zeichenklassen oder Teile des regulären Ausdrucks anwenden.

(abc)+
matcht z.B. "abc", "abcabc", "abcabcabc" etc. und

(a.){2,3}
matcht 2- bis 3mal ein "a" gefolgt von einem beliebigen Zeichen, also z.B. "azaz" oder "a1a1a1".

2.5 Anfang/Ende
In regulären Ausdrücken gibt es auch spezielle Zeichen, die Zeilen- bzw. String-Anfang und -Ende kennzeichnen.

^
Das Caret-Zeichen ^ steht dabei für den Zeilenanfang, das Dollarzeichen $ für das Zeilenende.
^abc
matcht also die Zeichenkette "abc", aber nur wenn diese am Anfang des untersuchten Strings steht,

$
abc$
matcht "abc" nur am Ende des untersuchten Strings.

2.6 Metazeichen
Alle bis jetzt genannten Zeichen, also
                             .  ?  +  *  ^  $  \  (  ) [  ] {  }
haben spezielle Bedeutungen in regulären Ausdrücken.
Um diese Zeichen im Text zu finden, müssen sie daher mit einem Backslash \ gekennzeichnet werden:
\.
matcht einen Punkt (und kein beliebiges Zeichen).


Quelle:
https://activevb.de/rubriken/kolumne/kol_19/regexp.html






********************************************************I*
In www.schaltungen.at  ist es besser da genauer mit regulären Ausdrücken zu suchen.
                      Sucht im TITEL und in der BESCHREIBUNG

Bei linksammlung.info  wird in title und description gesucht
title description
SOLAR-GARTENLEUCHTE Edelstahl CASALUX Solar Gartenleuchte Edelstahl mit Erdspiess, Art.Nr. 10887, BT1032A, Nirosta mit Glasscheibe Dm150x8mm (Fa. PSM BESTPOINT) - -  Edelstahl matt, Leuchtfarbe: weiß durch superhelles LED, Außenschirm in glasklarer Optik, inkl. zweiteiligem Erdspieß (2 x 255 mm), inkl. Dämmerungssensor, inkl. 2 Stk. Akkus1,2V 600 mAh, AA, ansprechendes modernes und formschönes Design, einfache Handhabung durch kabellose Anwendung, EIN-/AUS-Schalter, bis zu 8 Stunden Leuchtdauer - - PSM Bestpoint Boschstr. 31, A-4600 Wels, Made in China, 05/2009 3 Jahre Garantie bis 2012-05-01

Bei schaltungen.at  wird mit regulären Ausdrücken nur in Suche und Text gesucht
alle anderen Suchfelder funktionieren NICHT so, sondern so wie in der Hilfe beschrieben - mit Volltextindex suche.


Im Komponenten-Suchfeld gibts keine RegEx-Suche



Ein regulärer Ausdruck (englisch regular expression, Abkürzung RegExp oder Regex) ist in der theoretischen Informatik eine Zeichenkette,
die der Beschreibung von Mengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient.
Reguläre Ausdrücke finden vor allem in der Softwareentwicklung Verwendung.
Neben Implementierungen in vielen Programmiersprachen verarbeiten auch viele Texteditoren reguläre Ausdrücke in der Funktion „Suchen und Ersetzen“.
Ein einfacher Anwendungsfall von regulären Ausdrücken sind Wildcards.
https://de.wikipedia.org/wiki/Regulärer_Ausdruck

http://www.regenechsen.de/phpwcms/index.php?regex_dt_elemente





********************************************************I*
 / slash        Startzeichen für einen regulären Ausdruck

Liste der Elemente
. Wildcard - passt zu jedem Zeichen, ein Punkt bedeutet, dass an seinem Platz ein beliebiges Zeichen stehen kann, jegliches Zeichen (Ausnahme der Zeilenumbruch CR)
   /.*M.ier.*   findet somit   Maier   Meier  Maiering  (auf das  ing  passt der Suchstring nicht mehr), aber nicht   Manieren.
   /.*H..s.* findet sowohl   Hans  Haus  Hirse als auch Suchmaschine  es wird aber nicht Hase finden.
   /.*er   findet ... Lieder Bücher Timer Verstärker Sender Router Trigger Wandler Filter Logger Recorder Taster Tester usw.

/.*B[ui]rma.*                           matcht „Burma“ sowie „Birma“
/.*M[ae][iy]er.*                        matcht verschiedene Schreibweisen eines Namens

Der Punkt dient dazu, nach einem beliebigen unbekannten Zeichen zu suchen.
  /.*er\.  findet ...   Wächter.  Arbeiter. Computer. Viewer. Begrenzer. Impulgeber.
Sucht man nach dem Punkt als Zeichen, so stellt man ein backslash voran \


 [   ]  Zeichenklassen überprüft ob einer der Zeichen enthalten ist, die eckigen Klammern kennzeichnen eine Zeichenauswahl.
mit eckigen Klammern wird nur genau ein Zeichen gesucht, unabhängig, wie viele Zeichen in der Klammer aufgeführt sind.
   [AEX] Diese Kombination sucht Zeichenketten, die aus nur genau einem Zeichen bestehen, welches auch noch nur A, E oder X heißen muss.
   [0-9] eine Ziffer von 0 bis 9  (Bindestriche sind Indikator für einen Bereich)  ODER \d
   [egh] eines der Zeichen e g h
   /.*h[ae]llo.*     findet somit  hallo  hello Chello
   [Aa] eines der Zeichen A a
   [A3] eines der Zeichen A 3
   [ ] Leerzeichen
   [a-z] Kleinbuchstaben eines der Zeichen a bis z
   [a-e]  ist  dasselbe wie [abcde]
   /.*M[a-e]ier.*    findet somit   Maierhof   Meiern  Maiering
   [A-Z]  Großbuchstaben
   [a-zA-z] Buchstaben eines der Zeichen a bis z oder A bis Z
   /[A-Za-z0-9]/   - Erlaubt einen Großbuchstaben, Kleinbuchstaben oder Zahl
   [a-zA-Z0-9] Buchstaben und Ziffern ein beliebiger lateinischer Buchstabe oder eine beliebige Ziffer   ODER \w
   [0-9a-zA-Z ] Leerzeichen am Ende
   [0-9a-fA-F]  Hexadezimalziffern
 [.-]  - letztes Zeichen    Bindestrich noch nicht ganz klar
[A-Z\-a-z]Auswahl enthält auch den Bindestrich  -   wenn er das erste oder das letzte Zeichen in der Aufzählung einer Zeichenklasse ist bzw. wenn seine Metafunktion innerhalb einer Auswahl durch ein vorangestelltes \- Zeichen aufgehoben wird

/.*[eE]lektor                     24 Dokumente
/.*Ele[kc]troni[kc]          719 Dokumente

    /.*[a-z.]+/.*  entspricht  /.*[\w.]+/.*   findet  .....diba.at/
Der Punkt ist in diesem Fall kein spezielles Zeichen, weil er innerhalb der eckigen Klammern (Zeichenauswahl) steht.

Beliebiges Zeichen im Zeichensatz
/.*§ [ABC].*  - es darf auf das § Zeichen jeder der in Klammern enthaltenen Buchstabe folgen.
findet somit § CD4011  § AF310 BA100 § BC547C  § BF245
Beliebige Anzahl von Zeichen aus einem Zeichensatz
/.*§ [ABC]{2}.*  - es muß auf das § Zeichen jeder der in Klammern enthaltenen Buchstabe 2-mal folgen.
findet somit § AA113 § BA100 § BC547C  § CA3140  § CA3046  

Zeichenklassen können durch Angabe in eckigen Klammern selbst definiert werden "[A-Z]"
Diese Angabe kann durch ein ^ als erstes Zeichen in den eckigen Klammern negiert werden.

/.*§ [^BE].*    Form[^BE] - es darf auf das Zeichen § ein beliebiges Zeichen außer "B" oder "E" folgen.
findet somit § MC14440 § LT1510 § LM3914  § 2LED  § L296 

/.*§ [A-G].*- Sie können einen Bereich aufeinander folgender Buchstaben angeben.
findet somit § AF310   § BC547   § CD4011   § DIAC   § ECS-20011   § FET   § Ge  
Bei diesem alphanumerischen Bereich wird zwischen Groß- und Kleinschreibung der Zeichen unterschieden.
Die Groß- und Kleinbuchstaben in diesem Bereich können Sie mit folgender Syntax abgleichen:
/.*§ [a-gA-G].* 


[\b] Passt auf das Steuerzeichen für die Backspace-Tastet, welche den Cursor um eine Position nach links verschiebt und das dort stehende Zeichen entfernt.
(Sollte nicht mit \b verwechselt werden.)

Grundsätzlich können in regulären Ausdrücken runde Klammern gesetzt werden, um bestimmte Abschnitte zusammenzufassen.
Besonders hilfreich ist das, um Alternativmöglichkeiten anzugeben.
Diese werden in Klammern gesetzt und durch einen senkrechten Strich (Pipe) | getrennt:
Gruppierung
  ( )      dienen zur Gruppierung von Regulären Ausdrücken.
  (...)      dient der Gruppierung von Suchmustern. Das gefundene Muster wird in ein Subpattern für spätere Verwendung gespeichert.

ODER
   |  pipe -   Alternative - ermöglicht Alternativen
...|...|...  stellt Alternativen für das Suchmuster, die erste auftretende Alternative im String wird gefunden
   /.* (Fritz|Prenninger|Haidestr.) .*

   /.*a|b       a   alternativ b
   /.*(ab)|c   ab alternativ c
   /.*(der|das)-K.*          findet somit Wander-Kompass Zylinder-Kurbelgehäuse  Zahnräder-Katalog  das-Kochrezept
   /.*Kind(er|ergarten|le).*      findet somit  Kinder  KinderNet Kindergartenpädagogin  Kindergartenstraße Kindle Kindler Kindlers Kindlein
   /.*(ab|an)geben.*       findet somit   abgeben   angeben


   /.*j[jhklWZ].* jhk alternativ WZ  findet somit .9° jk-flipflop01  Banjac Nedeljk www.scjhaltungen.at


Sonderzeichen suchen
Diese Zeichen müssen nicht entwertet werden - sind keine Meta-Zeichen
 : Doppelpunkt           /.*mailto:.*    2.745 Dokumente
 _ Unterstrich             /.*Seiten[)]_1a.pdf.*  
Trennstrich in   356 Dokumente
 - Bindestrich              /.*[r]-[O].*      findet Unter-Ordner           467 Dokumente
 - Bindestrich              /.*[a-z]-[0-9].*      findet Sketch-1       3.916 Dokumente
@ Klammeraffe          /.*@gmail.com.*                                      9 Dokumente
< spitze Klammer        /.*> [A-Z].*                                        261 Dokumente
" Anführungszeichen   /.*"[A-Z].*                                          936 Dokumente
= Gleichheitszeichen   /.*= [0-9A-Z].*                                   901 Dokumente


Wort mit verschiedenen Schreibweisen oder Sonderzeichen suchen
vi@gra   v1agra   v1@gra   v!@gr@
/.*v[i!1][a@]gr[a@].*




Zeilenanfang und Ende

Neben den bereits erwähnten Wortgrenzen sind noch zwei weitere Operatoren hilfreich:
das Caret oder Dächlein ^ für den Anfang und das Dollarzeichen $ für das Ende einer Zeile.
Soll der Ausdruck zum Beispiel Zeilen finden, die mit “Anfang” beginnen, schreiben Sie
^Anfang
Das genügt schon. Soll eine komplette Zeile erkannt werden, schreiben Sie
^Anfang bis Ende$

Diese Zeile muss dann genau dem Muster entsprechen. Es dürfen in der Zeile keine weiteren Zeichen stehen.
 ^ (Dach- Zirkumflex-Zeichen) steht für den Zeilenanfang, überprüft den Anfang des Textes
      nicht zu verwechseln mit ^ bei der Zeichenauswahl mittels [ ^.... ] da steht es für NICHT 
.
    /.*^aus.* Die Zeichenkette beginnt mit einem Text der auf aus passt, aus ist der Anfang einer Zeichenkette, der Text muss mit aus beginnen
findet somit austriamicrosystems  ausgefallenes   ausländische  ausländer   ausser  austria   austro  ausschalten   auskunft
 [^a] ein beliebiges Zeichen außer „a“ ( ^  am Anfang einer Zeichenklasse negiert selbige)
Das Dach (^) negiert die Auswahl. Daher werden hier alle Zeichen des lateinischen Alphabets außer "a" angesprochen.
    /.*hall[^aeiou].* - die Buchstaben hall dürfen nicht mit a, e, i, o oder u enden
findet somit   Ultraschall-Empfänger    Schalldämpfer   Schallpegel  Nachhall-Verstärker   Schallplatte

$ (Dollarzeichen) überprüft den Ende des Textes
   /.*haus$  findet somit Jagdhaus Gasthaus Fertighaus Wirtshaus Versandhaus Bausatzhaus Auktionshaus Autohaus

   /.* $ das letzte Zeichen muß ein Leerzeichen sein.

 [^ ]$  die Zeichenkette muss aus min. einem Zeichen bestehen, und das letzte Zeichen darf kein Leerzeichen sein.
 [^1-4] Finde alle Ziffern, sofern sie keine 1, 2, 3 oder 4 sind!"  Die Negation wird mit einem ^ bewirkt.
               Das sollten wir uns merken, denn wir werden  sehen, dass dieses ^ eine ganz andere Bedeutung hat, wenn es nicht in eckigen Klammern steht.
     /.*#[A-Z]{2}\d{1,3}[^0-9]?.*        findet somit  #AE080-1    #AT325-x          

  [^0-9]  Ein Zeichen, dass keine Ziffer ist
 ^ab$  Die Zeichenkette passt von Anfang bis Ende auf ab        


Zeichenklassen können durch Angabe in eckigen Klammern selbst definiert werden "[A-Z]"
Diese Angabe kann durch ein ^ als erstes Zeichen in den eckigen Klammern negiert werden.

/[abc^]/  - Das Zeichen ^ hat nur am Anfang einer Zeichenklasse eine Sonderbedeutung.
Soll es in einer Zeichenklasse literal verwendet werden, empfiehlt es sich, es nicht am Anfang zu setzen, da es sonst entwertet werden muss.


Eigene Zeichenklassen
[abc] a, b oder c, (Einfache Klasse) 
Eine negierte oder komplementäre Zeichenauswahl.
[^abc] Alles außer a, b oder c (Negierung)   z.B. ist [^abc] dasselbe wie [^a-c].
[a-z] a bis z oder A bis Z (einfacher Zeichenbereich)  Es kann mit Hilfe eines Bindestrichs auch ein Bereich von Zeichen (z. B. von a bis z) festgelegt werden.
[a-m[n-p]] a bis m oder n bis p; identisch mit [a-dm-p] (Vereinigung)


   /^Elektronik findet eine Zeilen, die mit Elektronik beginnt  auch möglich   /Elektro.*
   /Elektronik$ findet eine Zeilen, die mit  Elektronik aufhört
   /^Elektrotechnische Grundlagen der Elektronik$  wenn eine kpl. Zeile erkannt werden soll
Diese Zeile muss dann genau dem Muster entsprechen. Es dürfen in der Zeile keine weiteren Zeichen stehen.


  \  backslash  Entwertet das nächste Zeichen
Metazeichen müssen entwertet werden, um literal nach ihnen zu suchen.
Daher sind folgende Zeichen zu entwerten, um sie literal zu benutzen:
Metazeichen [ ] ( ) { } | ? + - * ^ $ \ Die Tilde ist auch ein Sonderzeichen, das maskiert werden muss.                                                                                                                 

/^".*      die Zeile beginnt mit Anführungszeichen   findet somit  "Bauen mit Holz in Oberösterreich"
/.*\.$     die Zeile endet mit einem Punkt findet somit +++ PrennIng.
/^$     findet Leerzeilen   findet somit 14.292 Leerzeilen                                     allerding werden alle Bücher gefunden !
/^TÜV Österreich$  
Die Zeichen "^" und "$" verankern die in der Zeichenfolge enthaltenen Zeichen.
Das Zeichen "^" kennzeichnet den Beginn der Zeichenfolge,
während das Dollarzeichen "$" deren Ende kennzeichnet, sofern die Zeichen am Anfang bzw. am Ende platziert sind.
Das Zeichen "^" hat diese spezielle Bedeutung nur dann, wenn es das erste Zeichen in einem Muster ist.
Das Dollarzeichen "$" hat diese Bedeutung nur dann, wenn es das letzte Zeichen in einem Muster ist.
In diesem Fall ist "zeichenfolge" der einzige passende Wert.


/^[a-zA-Z]\w{3,14}$     alles noch testen
Das erste Zeichen des Passworts muss aus einem Buchstaben bestehen. Es muss aus mindestens 4 und höchstens 15 Zeichen bestehen. Es dürfen nur Buchstaben, Zahlen und der Unterstrich verwendet werden
/^(?=.*\d).{4,8}$
Kennwortausdruck Das Passwort muss zwischen 4 und 8 Ziffern lang sein und mindestens eine numerische Ziffer enthalten.
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$
Passwort-passender Ausdruck Das Passwort muss mindestens 4 Zeichen und höchstens 8 Zeichen umfassen. Es muss mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine numerische Ziffer enthalten.
/^.{4,8}$
Entspricht einer beliebigen Zeichenfolge zwischen 4 und 8 Zeichen. Begrenzt die Länge einer Zeichenfolge. Nützlich, um reguläre Ausdrücke zum Passwort hinzuzufügen.
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).{4,8}$
Kennwortausdruck, der einen Kleinbuchstaben, einen Großbuchstaben, eine Ziffer, eine Länge von 6-13 und keine Leerzeichen erfordert. Dies ist lediglich eine Erweiterung eines zuvor veröffentlichten Ausdrucks von Steven Smith ([email protected]). Das keine Leerzeichen ist neu.
/^([a-zA-Z0-9@*#]{8,15})$
Passwort-passender Ausdruck Passen Sie alle alphanumerischen Zeichen und vordefinierten Wild-Zeichen an. Das Passwort muss aus mindestens 8 und höchstens 15 Zeichen bestehen.
/^(?![0-9]{6})[0-9a-zA-Z]{6}$
entspricht einem sechsstelligen & quot; Passwort & quot; das muss aus Zahlen und Buchstaben bestehen, die mindestens einen Buchstaben enthalten.
/[^A-Za-z0-9]
Um nicht-alphanumerische Zeichen zu erkennen (z. B. für die Überprüfung des neuen Benutzernamens / Kennworts): monkey (AT) greyledge.net 14-Oct-2003 11:26
/^(?=[^\d_].*?\d)\w(\w|[!@#$%]){7,20}
Diese Regex kann verwendet werden, um Passwörter auf eine Länge von 8 bis 20 Zeichen zu beschränken und Sonderzeichen auszuwählen. Das Passwort kann auch nicht mit einer Ziffer, einem Unterstrich oder einem Sonderzeichen beginnen und muss mindestens eine Ziffer enthalten.
/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,15}$
Passwort-passender Ausdruck Das Kennwort muss mindestens 8 Zeichen und höchstens 15 Zeichen umfassen. Es muss mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine numerische Ziffer enthalten.
/^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z]{6,}$
Das Passwort muss mindestens einen Buchstaben und mindestens eine Zahl enthalten und länger als sechs Zeichen sein.
/\w{5,255}
Dies ist Benutzername & amp; Kennwortüberprüfungsausdruck Leerzeichen sowie Sonderzeichen wie $ #% @ & amp; * () {} + sind nicht zulässig
/^(?=.*\d)(?=.*[a-zA-Z])(?!.*[\W_\x7B-\xFF]).{6,15}$
Kennwortprüfer Benötigt 6-20 Zeichen, darunter mindestens ein oberes oder unteres Alpha und eine Ziffer. Es sollte so gut wie alles andere nicht zulassen, einschließlich erweiterter Zeichen.

http://regexlib.com/Search.aspx?k=password





 $ (Dollarzeichen) Überprüft den Ende des Textes - - kann je nach Kontext für das Zeilen- oder Zeichenketten-Ende stehen.
/.*Magazin$    - der Text muss mit   Magazin  aufhören
/.*w$   - w ist das Ende einer Zeichenkette - findet somit   #B240 Computer Laser-Show
/.*aus die Zeichenkette endet mit aus  - findet somit  Jagdhaus     blendet sich dann aus  
/.*[$z]   ein beliebiges Zeichen außer „z“ ( $  am Ende einer Zeichenklasse negiert selbige) - findet somit   Linz  1800MHz  Schutz   Referenz

 \  backslash   Maskierung von Zeichen  \ escape (Aufhebung von Metazeichen)
hebt die besondere Bedeutung von Metazeichen  + ?  * ( ^ $ [ { | \ . auf um diese literal suchen zu können.
hebt gegebenenfalls die Metabedeutung des nächsten Zeichens auf (siehe Maskierungszeichen).
/.*(.\*)+  auf diese Weise lässt sich auch ein Stern *              mit \*  suchen (A\*)+ die Zeichenketten „A*“, „A*A*“ usw. zu.   -   findet somit Conrad ***
/.*(.\.)+  auf diese Weise lässt sich auch ein Punkt .           mit \. suchen - - eher sinnlos da Punkte immer wo stehen
/.*(.\\)+  auf diese Weise lässt sich auch ein backslash \      mit \\ suchen.
/.*(.\$)+ auf diese Weise lässt sich auch ein Dollar-Zeichen $ mit \$ suchen.
in RegEx steht das $ Zeichen für das Ende des Textes wenn du nach einem $ Zeichen suchen willst, musst du \$ nehmen
Die Meta-Eigenschaft eines Zeichens kann durch einen vorangestellten Rückwärtsstrich (Backslash) aufgehoben werden.
Alle übrigen Zeichen des Alphabets stehen für sich selbst



\w                         matcht Wortzeichen, i.d.R jedoch keine Umlaute ü ö ä und „ß“
Abhilfe:
/.*[A-Za-zÄäÖöÜüß] für Wortzeichen

 \.  matcht einen Punkt
 \b  matcht Wortgrenzen
 \b leere Zeichenkette am Wortanfang oder am Wortende - Steht für eine Wortgrenze.
Wortgrenzen sind an den Stellen, wo kein anderes Wortzeichen vor oder hinter einem Wortzeichen steht.
Eine Wortgrenze wird nicht in die Übereinstimmung aufgenommen.
Mit anderen Worten ist die Länge einer Wortgrenze gleich 0 - die Wortgrenze ist der Zwischenraum zwischen einem Wortzeichen und einem Zeichen, das kein Wortzeichen ist oder zwischen einem Wortzeichen und dem Anfang oder Ende der Eingabe.
(Sollte nicht mit [\b] verwechselt werden.)


Ein Regulärer Ausdruck für die Auto-Suche wäre:
/.*Autos?              33 Dokumente
Das Fragezeichen wirkt sich auf den direkt davor stehenden Buchstaben aus.
Es bedeutet: Dieses Element darf genau nullmal oder einmal vorkommen.
Damit findet die Suche alle “Auto” und “Autos”.
Allerdings gehören dazu immer noch “Automobile” und alle anderen Auto-Varianten, weil der Reguläre Ausdruck noch nicht weiß, dass er nur nach ganzen Wörtern suchen soll. Das sagen Sie ihm mit

/.*\bAutos?\b        32 Dokumente
Das \b steht für eine Wortgrenze.
Es wird also nur nach “Auto” und “Autos” gesucht, wenn diese beiden Begriffe als eigenes Wort vorkommen.
Wenn Sie Autos mit großem und kleinem Anfangsbuchstaben finden wollen verwenden Sie

/.*\b[Aa]utos?\b    34 Dokumente
Die eckige Klammer fasst eine Gruppe von Zeichen zusammen, die alternativ gelten.
Als erster Buchstabe im Ausdruck darf also wahlweise ein großes oder kleines A stehen.
In der Regel werden Sie diese Unterscheidung aber nicht allzu oft brauchen.
Denn die meisten Regex-Parser haben einen Schalter, mit dem Sie die Unterscheidung von Groß- und Kleinschreibung an und ausschalten können.


\b Wortzeichen Beispiele:
/.*\bMon .*       findet Mon Cheri
/.*\bMon.*        findet Mono  Monitor   Monoflop   Mondholz   Monopoly   elektor-Monatsheft
/.*heft\b.*          findet Lösungsheft   Schiessheft  Halbleiterheft  Monatsheft  Sonderheft  Aprilheft
/.*ond\b.*          findet  Mond   Fastbond   Kond.   Second-Order   M-Bond  Beyond  MondSeeLand  Plafond  Diamond   Wissenschaftsfond
passt auf das "ond" in "Mond", weil "ond" das Ende der Zeichenkette ist, also nicht vor einem Wortzeichen steht.
Bei /.*\w\b\w.*  wird niemals eine Übereinstimmung gefunden, weil eine Wortgrenze niemals gleichzeitig vor einem Wortzeichen und keinem Wortzeichen stehen kann.

 \B leere Zeichenkette, die nicht den Anfang oder das Ende eines Wortes bildet


Grenzbezüge
 ^ Zeilenanfang oder Beginn des Textes
 $ Zeilenende   oder Ende   des Textes
\b Wortgrenze
\B alles außer eine Wortgrenze
\A Beginn des Textes
\G Ende   des Textes
\Z Ende   des Textes oder des Textabschlusses
\z Ende   des Textes




Wiederholungen
 ? Vorheriges Zeichen ist optional
a?  a kommt kein- oder einmal vor
Der voranstehende Ausdruck ist optional, er kann einmal vorkommen, braucht es aber nicht, das heißt, der Ausdruck kommt null- oder ein-mal vor. 
/.*Pap?a.* findet  Papa  Paar  PaarungsTester   KondensatorPaarer  Paarhofverband   Paakstr.
Pap?a  genau einmal oder kein Vorkommen - - Dies entspricht {0,1}  erkennt vorhergehendes Element nicht oder einmal

ODER
Leitet konditionale Regexe (?(....)....|....) sowie Assertions (?=...) ein

/.*Heft [4-7]?.*    findet Heft   Heft 4-80    64er-Heft   Halbleiter-Heft
/.*iPhone[1-7]?        passt zu iPhone, iPhone2 usw. bis iPhone7


...(?=...)  Positive Lookahead-Assertion.
Das Muster vor der Klammer wird nur erkannt, wenn das Muster in der Klammer danach gefunden wird.
Das Muster in der Klammer ist im Suchergebnis nicht enthalten.
Positives Lookahead funktioniert genauso.
q (?=u) entspricht einem q, dem ein u folgt, ohne dass das u Teil des Matches ist.
Das positive Lookahead-Konstrukt besteht aus zwei Klammern, wobei die öffnende Klammer von einem Fragezeichen und einem Gleichheitszeichen gefolgt wird.
/.*q(?=u).*          findet  (uhrenquarz)  Spannungsquelle   Equalizer Frequenz qualitativ  Aquarien  Tonquelle  Aquarell
/.*q(?=ua).*        findet   Uhrenquarz  Equalizer   qualitativ  Aquarien  Aquarell
/.*Aq(?=ua).*      findet   Aquarien  Aquarell  Aquastat  Aqua-Controll  Aqua-Fit  Aquamat Aquapool  Aquapulco Aquaristic Aquarellmalerei Aquasol Aquateherm
/.*qua(?=s).*      findet   Aquastat Aquasal Aquasant Aquastop  Aquasol



Folgende Quantifikatoren sind identisch:
*   {0,}      kein oder mehrere beliebige Zeichen
+    
       eines oder mehrere beliebige Zeichen        {1,}     genau ein beliebiges Zeichen
?  {0,1}    0 oder ein beliebiges Zeichen
*?               0 oder mehrmals, bei minimal benutzten Zeichen zum Erfüllen des regulären Ausdrucks
+1              1 oder mehrmals, bei minimal benutzten Zeichen zum Erfüllen des regulären Ausdrucks
??               muss nicht oder einmal vorhanden sein, bei minimal benutzten Zeichen zum Erfüllen des regulären Ausdrucks
{min,}?        mindestens min-mal, bei minimal benutzten Zeichen zum Erfüllen des regulären Ausdrucks
{min,max}?  zwischen min- und max-mal, bei minimal benutzten Zeichen zum Erfüllen des regulären Ausdrucks
 https://www.luis.uni-hannover.de/fileadmin/buecher/leseproben/perl-kap10-lp.pdf


 *  allquantor - Wiederholung des vorherigen Elements (0 oder häufiger mal) - - Erkennt vorhergehendes Element nicht oder mehrmals - - Der voranstehende Ausdruck darf beliebig oft (auch 0x ) vorkommen. - Dies entspricht {0, } bis unendlich - - ... steht für Null bis viele Vorkommen des Zeichens oder Metazeichens.
 a*   a kommt kein oder mehrmals vor - Vorkommen des Zeichens a beliebig oft
z.B. [abc]*   abbac
/Windows [0-9]*/ - Passt zu Windows, Windows 98 und Windows 7, aber nicht Windows7.
Kein oder mehrere Wiederholungszeichen

Kein oder ein Wiederholungszeichen
/.* Se?d.*     - Dieses Muster bedeutet, dass entweder kein Zeichen oder das vor dem Symbol platzierte Zeichen verwendet werden dürfen.
findet somit Sedeme   Sedelmayer Sed-Cards   Sediten  Sedat Sedra Sedlaczek   Seed
Kein oder mehrere Wiederholungszeichen
/.* Se*d.*  - Verwenden Sie das Zeichen "*", um eine beliebige Anzahl des voranstehenden Zeichens oder gar kein Zeichen darzustellen.
findet somit Seeed  Sedem Sedelmayer

Platzhalterzeichen - Verwenden Sie immer auch die Zeichen .und * als Platzhalterzeichen.
 .*   steht für irgendwas  -  Dieses Muster ermöglicht die Anzeige einer beliebigen Anzahl beliebiger Zeichen.
   /.* [0-9]{6}-11 .*  findet somit     906074-11 irgendwo im Text
   /.* [\w]{3} .*       

 Hiermit werden nur Datumsangaben im Format TT.MM. gefunden.
     von  App  FAT  RAM  E27  mit  15V  LED  C64  UNO  AVS  kHz
   /.*An.*bau .*      findet somit    Antennenbau     Anemometer für den Selbstbau     Antenne 4 - Grundlagen (Eigenbau
Wenn eine Anwendung beispielsweise manchmal ein Leerzeichen zwischen den beiden Wörtern dieser Eigenschaft einfügt und manchmal nicht, berücksichtigt diese Syntax beide Fälle.


 + existenzquantor - Wiederholung des vorherigen Elements (1 oder häufiger mal) - - Erkennt vorhergehendes Element ein- oder mehrmals - - Der voranstehende Ausdruck muss min. 1x vorkommen, darf aber auch mehrfach vorkommen. - Dies entspricht {1, }  1 bis unendlich
  a+   a kommt mindestens einmal vor.
/[0-9]+/ - Passt zu allen natürlichen Zahlen.
... kennzeichnet eine Mengenangabe. Das "+" steht für ein oder mehrere Vorkommen des Zeichens oder Metazeichens.
Mindestens ein Wiederholungszeichen

/.* Se+d.*  - Verwenden Sie das Zeichen "+", um eine beliebige Anzahl des voranstehenden Zeichens darzustellen.
findet Seeed-Grove-Module  Sedem  Sedelmayer  Sed-Cards Sediten Sedat Sedra Sedlacek

Der Unterschied zwischen diesem Zeichen und dem Zeichen * besteht darin,
dass mindestens ein Zeichen durch das Zeichen + dargestellt werden muss.
/a+        =  a  aa  aaaa
/[0-9]+  =  0   34   02345
/[ab]+  =  a    b    aa    bbaab   usw.


 { }  Menge - Quantifizierer
 {3}    Der voranstehende Ausdruck muss exakt 3-mal vorkommen.
  /.* \+{3} .*   findet somit  +++  

 a{3} a kommt genau 3x vor. - exakt 3-mal Wiederholung des vorherigen Elements
/.* [0-9]{3} .*      passt zu allen 3 stelligen Zahlen  findet somit  016   455 kHz   100 MOhm    555   741    TCA 785   100 mA
 {2,}   Der voranstehende Ausdruck muss min. 2-mal bis unendlich-mal vorkommen.
 a{2,}   a kommt min. 2-mal vor.
    {,6}   Der voranstehende Ausdruck kommt max. 6-mal vor
  {0,6}   Der voranstehende Ausdruck   darf    max. 6-mal vorkommen.
  a{,6}  a kommt max. 6x vor
   {4,6}   der voranstehende Ausdruck muss min.  4-mal und darf max.  6-mal vorkommen.
 a{4,6} a kommt min. 4x, aber max. 6x vor - - wiederholung des vorherigen Elements min. 4-mal, max. 6-mal.


  [0-9]{2,5} entspricht 2, 3, 4 oder 5 Ziffern in Folge, z.B. „42“ oder „54072“, jedoch nicht den Zeichenfolgen 0    1.1   oder   a1a1

/.*#[a-zA-Z]{2}\d{1,3}[^0-9]? .*    findet somit   #AT320    #EV233a     #Se337


\ Escape-Zeichen
der Backslash  \ ein übliches ESC Maskierungszeichen

  \d digit - Erkennt Ziffern - - steht für eine beliebige Ziffer [0-9] (digit). "\d\d" sucht also nach 2 aufeinanderfolgenden Ziffern.
  \D no digit - Erkennt Nicht-Ziffern - - steht für keine Ziffer [^0-9] [^\d]  "\D\D" sucht also nach 2 aufeinanderfolgenden Buchstaben.
  \w word character - Erkennt alphanumerische Zeichen und den Unterstrich - - steht für einen beliebigen Buchstaben, ACHTUNG: auch eine beliebige Zahl oder einen Unterstrich (word) [a-zA-Z_0-9]  , auch alphanumerische Zeichen (Wortzeichen) genannt.
  \W no word character - Steht für keinen alphanumerische Zeichen (Wortzeichen)  [^a-zA-Z_0-9] [^\w]. "\W\W" sucht also nach 2 aufeinanderfolgenden Ziffern.
  \s white space identisch mit [ \t\n\x0B\f\r]  Leerzeichen - Zwischenraum - Leerraum  (Whitespaces), Zeilenumbrüche, Tabulatoren etc. - meist zumindest das Leerzeichen und die Klasse der
  \S no white space - alle Zeichen außer Leerraum; identisch mit [^\s]



Vordefinierte Zeichenklassen
.    Jedes Zeichen (Einstellbar ob auch Umbrüche enthalten sind)
\d  Beliebiges Ziffernzeichen; identisch mit [0-9]
\D  Alle Zeichen außer Ziffern; identisch mit [^0-9]
\s  Leerraumzeichen (White Space); identisch mit [ \t\n\x0B\f\r]
\S  Alle Zeichen außer Leerraum; identisch mit [^\s]
\w  Jedes alphanummerisches Zeichen; identisch mit [a-zA-Z_0-9]
\W  Alle Zeichen außer Jedes alphanummerische; identisch mit [^\w]



\a = BEL
\b = BS 
\f  = FF  Seitenvorschub
\n = LF  Zeilenbruch
\r = CR  Wagenrücklauf
\t = TAB Tabulator
\v=VT vertikaler Tabulator

  \S no whitespace Kein Leerzeichen - ein Zeichen, das kein Whitespace ist, also [^\s]

  \b Erkennt Wortgrenzen - - leere Zeichenkette am Wortanfang oder am Wortende- Die Stellen, an denen Wörter aneinander grenzen, können beim Suchen bezeichnet werden, z.B. \b für Wortgrenze,
  \B Erkennt Nicht-Wortgrenzen - - leere Zeichenkette, die nicht den Anfang oder das Ende eines Wortes bildet - \B für keine Wortgrenze, \< für Wortanfang, \> für Wortende, oder eine Teilmenge dieser Konventionen.

  \z  Erkennt das tatsächliche, physikalische Ende des Strings
  \Z  Erkennt das Ende des Strings bzw. das Zeichen unmittelbar vor dem Newline am Ende

  \< leere Zeichenkette am Wortanfang
  \> leere Zeichenkette am Wortende

  \n newline - Zeilenumbruch - neue Zeile
  \r carriage return (CR) - Wagenrücklauf
  \f form feed - Seitenvorschub
  \t Tabulator
  \a beep - Piepton - Signalton
  \e Escape (ESC-Zeichen)  (im ASCII-Zeichensatz Hexadezimal-Code 1B, dezimal 27), Umschaltzeichen zwischen normaler Bedeutung der Zeichen und Sonderfunktion


Suche nach Tabulatoren und Leerzeichen:
   [\t ]* hat gegenüber  (    *|\t*) den Vorteil, dass Leerzeichen und Tabs gemischt vorkommen können
   /[\t]*  suche nach Tabulatoren  findet 14.292 Dokumente



/.* \d{1,2}\.\d{1,2}\.\d{2,4} .*                       matcht Datumsangaben

/.* \d\d\.\d\d\.\d\d\d\d .*  sucht  zwei Ziffern es folgt der Backslash und dann erst der Punkt, das bedeutet, es soll der Punkt literal, also als Punkt und nicht als beliebiges Zeichen gesucht werden.
Erneut sollen 2 Ziffern mit einem Punkt folgen und abschließend nochmals eine vierstellige Zahl.
Daher ein Datum in der Form TT.MM.JJJJ   findet somit 18.09.1910
/.* [0-3][0-9]\.[0-1][0-9]\.\d{4} .*   Hiermit werden nur Datumsangaben im Format TT.MM.JJJJ gefunden
findet somit 18.09.1910

/.* [0-9]{1,2}\.[0-9]{1,2}\.[0-9]{2,4} .*
Hier werden Daten gefunden wie  1.1.2000   10.05.1965    4.10.4570    10.5.65    1.3.12
Vor dem ersten und zweiten Punkt sind jeweils 2-stellige Zahlen erlaubt, nach dem letzten Punkt sind es mindestens zwei, höchstens vier.

/.* \d\d\d\d-\d\d-\d\d .* Hiermit werden nur Datumsangaben im Format JJJJ-MM-TT gefunden
/.* \d{4}-[0-1][0-9]-[0-3][0-9] .*
findet somit 2017-06-29

/.* \w\w, \d\d \w\w\w \d\d\d\d .*   sucht nach Leerzeichen dann 2 alphanumerischen Zeichen mit einem Komma, ein Leerzeichen, zwei Ziffern, wieder drei alphanumerischen Zeichen mit ein Leerzeichen und abschließend eine v4-stellige Zahl und Leerzeichen
Auch das sieht nach einem Datum aus, aber in der anglo-amerikanischen Schreibweise:
Di, 19 Feb 2002   -  es erkennt nur Daten mit 2-stel. Wochentag und Tageszahl.

/.* .. \[[0-9]\]: .*  sucht nach zwei x-beliebigen Zeichen auf die ein Leerzeichen und eine geöffnete eckige Klammer folgt.
Als nächstes wird die eckige Klammer nicht mehr von einem Backslash begleitet, hier beginnt also eine Zeichengruppe.
In dieser Zeichengruppe sind alle Ziffern von 0 bis 9 erlaubt.
Nach der Ziffer soll eine geschlossene eckige Klammer und ein Doppelpunkt folgen.
                              findet somit   Re [2]:

/.* Re \[\d\]: .*  sucht also einen String nach der Zeichenkette Re gefolgt von einem Leerzeichen, einer öffnenden eckigen Klammer, einer beliebigen Ziffer und einer schließenden eckigen Klammer mit einem Doppelpunkt als Abschluss.
findet somit Re [2]:

/.* .. \([0-9]\) .*    findet somit    Dm 130 mm (2) Foto   Tel. + 43 (0)7242 ...

/.* [A-Z]{4} .* es werden 4-Zeichen gefunden, die nur aus Großbuchstaben bestehen darf.
Warum an dieser Stelle eigentlich kein "\w"?  Nun, das würde auch Unterstriche beinhalten, was ggf. ungewünscht ist.
findet somit     NTFS   DELL   ARGE   CMOS   EXOR  FOTO   MIMO   PROM   UMTS  WLAN  WIFI  JFET  MENU


(?Modifikator)
(?i)   (?m)   (?s)   (?i-s)
Schalter zum Setzen oder Ausschalten von Modifikationen zur Mustererkennung.
Durch Aufführen eines Modifikators wird dieser eingeschaltet.
Ein Minus-Zeichen davor schaltet ihn aus.
Es dürfen mehrere Modifikatoren gleichzeitig eingetragen sein (?i-s)

i ignoriert Groß-/Kleinschreibung
m betrachtet den String als mehrzeilig, ^ und $ erkennen jedes Newline-Zeichen in der Zeichenkette
s betrachtet den String als einzeilig, der Punkt erkennt auch im String befindliche Newline-Zeichen
x ermöglicht Kommentare und zusätzliche Whitespaces im Muster, die nicht erkannt werden. Leerzeichen müssen ggf. mit Backslash maskiert werden
A fixiert das Suchpattern an den Anfang der Zeichenkette.
D findet "$" nur noch am Ende der Zeichenkette, wenn das letzte Zeichen dort ein Zeilenumbruch ist. Andere, vorhergehende Umbrüche werden ignoriert.
U kehrt die Standardeinstellung für Gierigkeit der Quantifzierer um: Quantifizierer sind nie gierig, es sei denn sie werden von einem Fragezeichen gefolgt.
u Suchstring wird als UTF-8 interpretiert.
X Zeichen, die keine Metazeichenbedeutung haben und mit einem Backslash maskiert werden, führen zu einem Fehler.
e Evaluierung von Backreferences oder Substitutionen als PHP-Code (nur in preg_replace verwendbar)
S zusätzliche Analyse des Suchpatterns zur Beschleunigung bei häufiger Verwendung des Regex.



Die folgenden Optionen müssen am Anfang eines regulären Ausdrucks stehen, gefolgt von einer runden Endklammer.
Wenn keine Optionen vorhanden sind, kann diese Klammer weggelassen werden. Z
https://ahkde.github.io/docs/misc/RegEx-QuickRef.htm
im)abc würde nach abc suchen, wo die Groß-/Kleinschreibung egal ist und die Suche über mehrere Zeilen erfolgt.
Im Vergleich zu anderen Programmiersprachen ist diese Schreibweise ziemlich ungewöhnlich.
Sie hat aber den Vorteil, dass keine speziellen Trennzeichen (z. B. der Schrägstrich) notwendig sind, um einen regulären Ausdruck von einem normalen Text zu unterscheiden, und demzufolge solche Trennzeichen innerhalb des Musters nicht mit einem Escapezeichen versehen werden müssen.
Darüber hinaus sind die Optionen mit dieser Schreibweise einfacher vom Programm zu parsen, was sich positiv auf die Performance auswirkt.
i    Groß- als auch Kleinbuchstaben
Wenn diese Option aktiv ist, stimmen Buchstaben im Suchmuster sowohl mit Groß- als auch Kleinbuchstaben überein.
m  Multiline-Modus.
Die zu durchsuchende Zeichenkette wird nicht als durchgehende Zeile, sondern als
Ansammlung einzelner Zeilen angesehen (sofern Zeilenumbrüche enthalten sind). Folgende Änderungen
treten dabei in Kraft:

1) Zirkumflex (^)

ist nicht nur der Anfang der Zeichenkette, sondern auch der Anfang jeder neuen Zeile, also direkt nach jedem Zeilenumbruch (aber nicht nach einem Zeilenumbruch ganz am Ende der Zeichenkette).
2) Dollar-Zeichen ($)
ist nicht nur das Ende der Zeichenkette, sondern auch das Ende jeder neuen Zeile, also direkt vor jedem Zeilenumbruch.
m)^abc$"  kann nur mit der Zeichenkette "xyz`r`nabc" übereinstimmen, wenn die "m"-Option vorhanden ist.
Die "D"-Option wird ignoriert, wenn "m" vorhanden ist.
s  DotAll-Modus.
Bewirkt, dass ein Punkt (.) mit allen Zeichen übereinstimmt, einschließlich Zeilenumbrüche (normalerweise stimmt er nicht mit Zeilenumbrüchen überein).
Beachten Sie, dass ein Zeilenumbruch üblicherweise aus zwei Zeichen besteht (`r`n), demzufolge sind zwei Punkte für eine Übereinstimmung erforderlich.
Diese Option hat keinen Einfluss auf negative Klassen wie z. B. [^a] - diese Art von Klassen stimmen immer mit Zeilenumbrüchen überein.
x Leerzeichen
Wenn diese Option aktiv ist, werden Leerraumzeichen im regulären Ausdruck ignoriert, es sei denn, sie haben ein Escapezeichen davor oder befinden sich in einer Zeichenklasse.
Die Zeichen `n und `t werden auch ignoriert, weil sie in einem regulären Ausdruck bereits als normale Leerraumzeichen behandelt werden
(im Gegensatz zu \n und \t, die PCRE-Escapesequenzen sind).
Die x-Option ignoriert zudem Zeichen außerhalb einer Zeichenklasse, die sich zwischen einer Raute (#) ohne Escapezeichen und einem Zeilenumbruchszeichen befinden.
Auf diese Weise kann man Kommentare in ein kompliziertes Muster einfügen.
Beachten Sie aber, dass dies nur für Datenzeichen gilt. Leerraumzeichen dürfen niemals innerhalb einer Folge spezieller Zeichen auftreten, wie
z.B. (?(, die einen bedingten Teilausdruck einleiten würde.
A
Erzwingt die Verankerung des Suchmusters; das heißt, dass das Suchmuster mit dem Anfang der Zeichenkette übereinstimmen muss.
Diese Option ist prinzipiell das gleiche wie, als würde man das Suchmuster explizit mit "^" verankern.
D
Bewirkt, dass das Dollar-Zeichen ($) mit dem Ende der Zeichenkette übereinstimmen muss, selbst wenn das letzte Zeichen in der Zeichenkette ein Zeilenumbruch ist.
Wenn diese Option nicht vorhanden ist, erfolgt die Übereinstimmung vor dem letzten Zeilenumbruch (falls vorhanden).
Hinweis: Diese Option wird ignoriert, wenn "m" vorhanden ist.
J
Erlaubt benannte Teilsuchmuster mit gleichem Namen.
Diese Option ist in einem Suchmuster nützlich, wo nur eines von mehreren gleichnamigen Teilsuchmustern übereinstimmen kann.
Hinweis: Wenn mehrere gleichnamige Teilsuchmuster eine Übereinstimmung finden, wird nur der gefundene Treffer ganz links gespeichert.
Groß-/Kleinschreibung spielt bei Variablennamen keine Rolle.
U Ungreedy-Modus.
Bringt die Quantoren *+?{} dazu, so wenig Zeichen wie möglich zu verbrauchen, um einen Treffer zu erzeugen.
Die restlichen noch verfügbaren Zeichen gelten für den nächsten Teil des Suchmusters.
Normalerweise kann man, wenn die U-Option inaktiv ist, einen einzelnen Quantor ungreedy machen, indem man direkt danach ein Fragezeichen einfügt.
Bei aktivierter U-Option bewirkt das Fragezeichen genau das Gegenteil - es macht einen einzelnen Quantor greedy.
X  PCRE_EXTRA.
Aktiviert PCRE-Features, die mit Perl nicht kompatibel sind.
Aktuell gibt es nur ein Feature.
Dieses Feature bewirkt, dass jeder umgekehrter Schrägstrich, gefolgt von einem Buchstaben ohne besondere Bedeutung, eine Übereinstimmung fehlschlagen lässt, woraufhin ErrorLevel gesetzt wird.
Mit dieser Option können ungenutzte Backslash-Sequenzen für die zukünftige Verwendung reserviert werden.
Wenn diese Option fehlt, wird der umgekehrte Schrägstrich vor einem normalen Buchstaben einfach ignoriert
(das heißt beispielsweise, dass sowohl \g als auch g ein normales g ist).
Der umgekehrte Schrägstrich vor einem normalen nicht-alphabetischen Zeichen wird immer ignoriert (das heißt beispielsweise, dass sowohl \/ als auch / ein gewöhnlicher Schrägstrich ist).
P  Positionsmodus.
Wenn diese Option aktiv ist, wird RegExMatch() nicht die gefundenen Teilzeichenketten, sondern die Position und Länge der gefundenen Übereinstimmung und ihrer Teilsuchmuster zurückgeben.
Für weitere Details, siehe AusgabeVar.
S
Untersucht, ob die Performance des Suchmusters verbessert werden kann.
Diese Option ist bei einem Suchmuster nützlich, das sehr oft ausgeführt wird (besonders wenn es komplex aufgebaut ist).
Wenn PCRE einen Weg gefunden hat, die Performance zu verbessern, wird PCRE diese Entdeckung zusammen mit dem Suchmuster in den Cache speichern, um sie später auf nachfolgende Suchmuster gleicher Art anzuwenden
(auch diese Suchmuster sollten die S-Option enthalten, weil sie nur im Cache gefunden werden können, wenn die Optionsbuchstaben vorhanden und in gleicher Reihenfolge sind).
C Aktiviert den Auto-Callout-Modus.
Siehe Callouts in regulären Ausdrücken für weitere Informationen.
`n
Wechselt vom Standard-Zeilenumbruch (`r`n) auf ein einzelnes LF-Zeichen (`n), welches üblicherweise auf UNIX-Systemen von Bedeutung ist.
Ein anderes Zeilenumbruchszeichen beeinflusst das Verhalten von Verankerungen (^ und $) und Suchmuster mit Punkten.
`r
Wechselt vom Standard-Zeilenumbruch (`r`n) auf ein einzelnes CR-Zeichen (`r).
`a  [v1.0.46.06+]:
`a erkennt jede Art von Zeilenumbruch, konkret `r, `n, `r`n, `v/VT/vertical tab/chr(0xB),
`f/FF/formfeed/chr(0xC) und NEL/next-line/chr(0x85).
[v1.0.47.05+]:
Um Zeilenumbrüche nur auf CR, LF und CRLF zu beschränken, gibt man stattdessen (*ANYCRLF) in Großbuchstaben am Anfang eines Suchmusters an (nach den Optionen); zum Beispiel: im)(*ANYCRLF)^abc$ .








********************************************************I*
    Beispiele regulärer Ausdrücke  RegExp
                https://www.strassenprogrammierer.de/regular-expression-regex-praxis_tipp_597.html


Einfache Dateinamenspezifikation   § LM555_1a.doc
/.* [a-z].*eiten\)_1a\.pdf .*    10 Dokumente
/.* [a-z].*eiten\)_1a.pdf        224 Dokumente
Dieser reguläre Ausdruck beschreibt einen beliebigen Namen, der mit einem Kleinbuchstaben beginnt,  und .pdf als Dateinamenerweiterung aufweist.

Starter Kit for Arduino (ARDX) $ 67,99 - - 303_d_arduino-x_keyestudio Basic Starter Kit for Arduino UNO - Guide engl. (109 Seiten)_1a.pdf- - 303_d_arduino-x_oomlout ARDX Experimenter's Guide for Arduino UNO - Guide engl. (36 Seiten)_1a.pdf - - http://ardx.org/src/
Was beginnt da mit einem Kleinbuchstaben ???



Ziffernmuster erkennen
Sie möchten Zahlen zwischen 1 und 99 in einem Text finden. Dann probieren Sie es mit diesem Ausdruck:
/.* \b[0-9]?[0-9]\b .*
Die beiden \b kennen Sie bereits (Wortgrenzen Anfang...Wortgr. Ende).
Sie sorgen dafür, dass wirklich nur ein- und 2-stellige Zahlen gefunden werden.
Anderenfalls würde der Ausdruck auch in Zahlenreihen wie 12345 mehrfach fündig.
Auch die eckige Klammer kennen Sie bereits: Sie stellt mehrere Alternativen zur Verfügung.
Damit alle Ziffern von 0 bis 9 zutreffen, müsste hier eigentlich stehen: [0123456789].
Zum Glück dürfen Sie das abkürzen, eben auf [0-9].
Der erste Teil des Ausdrucks [0-9]? liest sich also: Eine Ziffer von 0 bis 9 darf 1-mal oder 0-mal vorkommen.
Danach muss eine zweite Ziffer folgen.
Der Ausdruck lässt sich aber noch geschickter schreiben, indem Sie Quantifizierer benutzen.
Die bestimmen, wie oft das zuvor geschriebene Muster zutreffen darf. Probieren Sie es mit
/.* \b[0-9]{1,2}\b .*
Die beiden Zahlen in den geschweiften Klammern geben an, wie oft ein Muster mindestens vorkommen muss und wie oft es höchstens vorkommen darf.
In diesem Beispiel verlangt der Ausdruck also mindestens eine Ziffer zwischen 0 und 9 und erlaubt maximal zwei Stellen.



Überprüfung der Postleitzahl
Möchten wir überprüfen ob eine Eingabe eine (deutsche) Postleitzahl ist, so sähe ein möglicher Ausdruckt wie folgt aus:
/.* ^[0-9]{5}$ .*    geht nicht ?
Durch das ^ und das $ stellen wir sicher, dass nur die angegeben Zeichen vorkommen dürfen.
Mit [0-9]{5} erlauben wir dann alle 5 stelligen Zahlen.
Die 00000 würde hier leider auch erlaubt werden, obwohl es keine gültige PLZ ist.

/.* D-[0-9]{5} .*       gefunden wird D-58513 Lüdenscheid  290 Dokumente
/.* A-4[0-9]{3} .*       gefunden wird A-4600 Wels  481 Dokumente

Wenn Sie zum Beispiel nach vierstelligen Ziffern suchen, etwa in
/.* \b[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{2,4}\b .*     findet somit  1.3.12    15.08.2005    3.98.30     7.2.431    7.2.01     8.0.4811
Hier werden Daten gefunden wie: 1.1.2000    10.05.1965    10.5.65.
Vor dem ersten und zweiten Punkt sind jeweils zweistellige Ziffern erlaubt, nach dem letzten Punkt sind es mindestens zwei, höchstens vier.


 

Überprüfung der Telefonnummer

/ Startet die RegEx suche
.* vor dem Suchbegriff beliebige Zeichen
+43 Landesvorwahl Österreich und Leer-Zeichen
\ entwertet Metazeichen \( und \) ist hässlich und kann die Dinge verwirrend.
[ ] besser der Gebrauch von Klammern [(] und [)] .
\s? nach dem Nuller ein Leerzeichen oder keines [\s] oder \s?
wenn man möchten, dass dies optional sein, setzen Sie einen ? nach.
\s?[/]\s? einen slash suchen, geben Sie [/] optional noch \s?
Ev. setzen Sie Klammern um die Optionen: [-.\s/] benötigen einen Bindestrich, Punkt oder Leerzeichen Slasch.
Optional ein ? Fragezeichen
\d{5} benötigt eine 5-stel. Zahl: 00000-99999, die Kurzform für [0-9][0-9][0-9][0-9][0-9]
[0-9]{3-6} erfordert eine Ziffer 0-9 und eine 3- bis 5-stel. Zahl
(\+|\-|\.|\s|\/) Akzeptieren Sie ein "plus" oder ein oder einen . oder ein Leerzeichen oder einen slash
(pipe-Zeichen | bedeutet ODER). Die Meta-Zeichen Zeichen müssen escaped \ werden.

  Welser Tel.-Nr.
+43(0)7242/76460
+43 (0)7242/43284
+43 (0)7242/424200
+43 (0)7242/45050-0
+43 (0)7242 / 211770
+43 (0)7242/ 47 074 0 +43 (0)7242 /47111-0
+43 (0) 7242/45700
+43 (0) 7242 / 78900 +43 (0) 7242/ 47 074 0 +43 (0) 7242 /47111-0
+43 (0) 7242 / 630-0


Internationale Tel.-Nr. z.B. +43 (0)7242/45050-0

/.*\+43 \(0\)7242.* findet 84 Dokumente entwerten mit \ oder [ ]
/.*[+]43 [(]0[)]7242.* findet 84 Dokumente
/.*[+]43 [(]0[)]\s?7242.* \s? sucht auch alle mit Leer-Zeichen vor der Vorwahl findet 84 Dokumente
/.*[+]43 [(]0[)]\s?7242\s?[/].* findet 95 Dokumente
/.*[+]43 [(]0[)]\s?7242\s?[-.\s/]\s?.* findet 96 Dokumente
/.*[+]43 [(]0[)]\s?7242\s?(\+|\-|\.|\s|\/)\s?.*
findet 96 Dokumente
/.*[+]43 [(]0[)]\s?7242\s?[-.\s/]\s?\d{3,6}.*
findet 89 Dokumente
/.*[+]43 [(]0[)]\s?7242\s?[-.\s/]\s?[0-9]{3,6}.* findet 89 Dokumente
/.*[+]43 [(]0[)]\s?[0-9]{4}\s?[-.\s/]\s?[0-9]{3,6}.*
Vorwahl 0043  =  +43
Tel. 0650 / 3788495  tele.ring
Tel. 0660 / 3788495   3 Hutchion Drei Austria
Tel. 0664 / 3788495    A1 Telekom Austria
Tel. 0676 / 378 8491  T-Mobile Austria
Tel. 0677 / 3788 492  HoT HOFER Telekom
Tel. 0678 / 37 88 493  UPC mobile
Tel. 0680 / 37 88 493  bob
Tel. 0699 / 378 84 94  yess!
/.*0664.*   findet 84 Dokumente 
/.*06\d{2}\s?[/]\s?\d{6,7}.*
findet 153 Dokumente





Sie suchen alle E-Mail-Adressen der Domains yahoo.com, hotmail.com und gmail.com.
/.*(\W|^)[\w.\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)   3 Dokumente
 \W  entspricht jedem Zeichen, das kein Buchstabe, keine Zahl und kein Unterstrich ist. So wird verhindert, dass der reguläre Ausdruck Zeichen vor und nach der E-Mail-Adresse sucht.
  ^  entspricht dem Anfang einer neuen Zeile. Der reguläre Ausdruck entspricht der Adresse, wenn sie am Zeilenanfang steht und keine Zeichen vor ihr stehen.
  $  entspricht dem Ende einer Zeile. Der reguläre Ausdruck entspricht der Adresse, wenn sie am Zeilenende steht und keine Zeichen nach ihr stehen.
 [\w.\-]  entspricht einem beliebigen Wortzeichen (az, AZ, 0-9 oder einem Unterstrich), einem Punkt oder einem Bindestrich. Dies sind die am häufigsten verwendeten gültigen Zeichen im ersten Teil einer E-Mail-Adresse. \- steht für einen Bindestrich und muss in der Zeichenliste innerhalb der eckigen Klammern ganz hinten stehen.
  \  v or dem Gedankenstrich und dem Punkt "maskiert" diese Zeichen, d. h. zeigt an, dass der Gedankenstrich und der Punkt selbst keine Sonderzeichen des regulären Ausdrucks sind. Der Punkt in den eckigen Klammern muss nicht maskiert werden.
{0,25}  zeigt an, dass 0 bis 25 Zeichen im vorherigen Zeichensatz vor dem Zeichen @ stehen können. Die E-Mail-Einstellung für die Inhaltscompliance unterstützt die Suche nach bis zu 25 Zeichen für jeden Zeichensatz in einem regulären Ausdruck.
  ()  Die Formatierung () gruppiert die Domains und das Zeichen das die Domains trennt, steht für ein "oder".

/.*@(yahoo|hotmail|gmail)\.com.*



Für dieses Beispiel wird angenommen, dass alle E-Mail Adressen als Platzhalter-Tags behandelt werden sollen.
Eine Beispiel E-Mail Adresse ist: [email protected]
Ein möglicher (nicht perfekter) Ausdruck für eine E-Mail-Adresse ist:
Wortzeichen, Punkte und Trennstrich @ Wortzeichen, Trennstriche und Punkte
Ein einfacher, entsprechender regulärer Ausdruck ist:
/.*[\w\-\.]+@[\w\-\.]+.*              3.038 Dokumente


Mail-Adressen suche
/.*([a-z]|[A-Z]|[0-9]|_|-|\.)+@([a-z]|[A-Z]|[0-9]|_|-)+\.([a-z]|[A-Z]|[0-9]|_|-|\.)+.*            2.979 Dokumente
Als gültige Zeichen werden Klein-, Gross-Buchstaben, Ziffern, Unterstrich, Bindestrich und der Punkt akzeptiert.
Der Ausdruck erwartet min. ein gültiges Zeichen vor dem zwingenden Affenschwanz @.
Nach dem Klammeraffe-Symbol muss min. ein gültiges Zeichen (ausgenommen der Punkt) vor einem zwingenden Punkt kommen.
Nach dem Punkt muss mindestens ein gültiges Zeichen kommen.

mailto:[email protected]   
/.*mailto:.*           2.745 Dokumente
/.*mailto:[a-zA-Z0-9]{5,15}@[a-zA-Z0-9]{5,15}.at.*       519 Dokumente
/.*[a-z0-9-_\.]+@[a-z0-9-_\.]+\.\w{2,3}.*        matcht E-Mail Adressen     2.944 Dokumente


Prüfung auf korrekte E-Mailadressen-Syntax

/.*[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}.*    matcht E-Mail Adressen 2.976 Dokumente

Dieses RegEx trifft auf 99% aller gängigen Mail-Adressen zu.
Eine perfekte Prüfung auf Mailadressen ist nahezu unmöglich:
der Aufwand und die Fehleranfälligkeit des Regexes steigt überproportional mit der Komplexität des RegEx.



http://regexlib.com/Search.aspx?k=&c=5&m=-1&ps=100



Suche nach Uhrzeit im 12h-Format kein AM/PM:  hh:mm  09:44
/.* (0\d|1[012]|\d):([0-5]?\d).*                          196 Dokumente
[0-2][0-3]:[0-5][0-9]
([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]
([0-1]?[0-9]|2[0-3]):[0-5][0-9]


Suche nach Uhrzeit im 12h-Format:  11:59
   /.*(1[012]|[1-9]):[0-5][0-9] (am|pm).*     findet 13:00 am        1 Dokumente
   /.* (1[012]|[1-9]):[0-5][0-9].*                     findet 13:00          206 Dokumente


Suche nach Uhrzeit im 24h-Format: hh:mm   23:59
/.* ([01]?\d|2[0-3]):([0-5]?\d).*                  240 Dokumente
/.* ([0-1][0-9]|[2][0-3]):([0-5][0-9]).*       135 Dokumente

(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]
([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]
([0-1]?[0-9]|[2][0-3]):([0-5][0-9])(:[0-5][0-9])?

Suche nach Uhrzeit 24h mit Sekunden:  hh:mm:ss  23:59:59
/.* ([01]?\d|2[0-3]):([0-5]?\d):([0-5]?\d).*          3 Dokumente

(?:[01]\d|2[0-3]):(?:[0-5]\d):(?:[0-5]\d)



Suche nach E-Mails
/.*[a-zA-Z][a-zA-Z0-9]+@[a-z][a-zA-Z0-9]+.[a-z]{2,5}.*     matcht E-Mail Adressen 2.908 Dokumente



Zahlen (mit Vorzeichen und Dezimalpunkt) suchen:
   /.*-?[0-9]*\.?[0-9]*
ist suboptimal,
statt dessen
/.* -?([0-9]+(\.[0-9]*)?|\.[0-9]+) .*       15,232 Dokumente
(es wird jedoch auch ein Datum wie z.B.  20.9.1978 gefunden)



Sie suchen alle IP-Adressen im Bereich 192.168.1.0 bis 192.168.1.255.
/.* 192\.168\.1\..*
/.* 192\.168\.1\.\d{1,3} .*
\ vor jedem Punkt "maskiert" den Punkt, d. h. zeigt an, dass der Punkt selbst kein Sonderzeichen des regulären Ausdrucks ist.
In Beispiel 1
stehen nach dem letzten Punkt keine Zeichen, sodass der reguläre Ausdruck jeder IP-Adresse entspricht, die mit 192.168.1. beginnt, unabhängig von der danach stehenden Zahl.
In Beispiel 2
entspricht \d jeder Zahl von 0 bis 9, die nach dem letzten Punkt steht, und {1,3} zeigt an, dass die Zahlen von 1 bis 3 nach diesem letzten Punkt stehen können. In diesem Fall sucht der reguläre Ausdruck jede vollständige IP-Adresse, die mit 192.168.1. beginnt. Dieser reguläre Ausdruck findet auch ungültige IP-Adressen wie 192.168.1.999.


möglichst exakt nach IP-Adressen (z.B.192.168.17.4) zu suchen findet alle Zahlen mit 3 Punkten
/.* \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} .*    findetGreenshot 1.2.8.12
bessser
/.* \d{3}\.\d{3}\.\d{2,3}\.\d{1,3} .*  




http://www.google.com

https://www.google.com
http://google.com
https://google.com



https://www.aerzteblatt.de
/.* (http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?.*
/.* (http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z]*\.de .*                   171 Dokumente





geht nicht
Wie kann man mit RegEx suche 2 Suchbegriffe suchen
z.B.   pr82-??-?? AND ???-praktiker  verknüpfen !
Die RegEx Suche sucht immer GENAU d.h. du kannst suchen nach /.* pr82-..-.. .* ...-praktiker
wenn das praktiker NACH dem pr82 steht, ansonsten musst den praktiker-teil VOR den pr82 teil schreiben
oder 2 Suchen ausführen einmal so und einmal so





Sie suchen die Wortgruppe Fritz Ptrenninger
/.*(\W|^)Fritz\sPrenninger(\W|$).*              23 Dokumente
\W entspricht jedem Zeichen, das kein Buchstabe, keine Zahl und kein Unterstrich ist.
\s ist ein Leerzeichen
So wird verhindert, dass der reguläre Ausdruck Zeichen vor und nach der Wortgruppe sucht.


(\W|^)stock\s{0,3}tips(\W|$)
\s entspricht einem Leerzeichen und {0,3} zeigt an, dass 0 bis 3 Leerzeichen zwischen den Wörtern stock und tip stehen können.
^ entspricht dem Anfang einer neuen Zeile. Der reguläre Ausdruck entspricht der Wortgruppe, wenn sie am Zeilenanfang steht und keine Zeichen vor ihr stehen.
$ entspricht dem Ende einer Zeile. Der reguläre Ausdruck entspricht der Wortgruppe, wenn sie am Zeilenende steht und keine Zeichen nach ihr stehen.


/.*[a-zA-Z]\s\s\s[a-zA-Z]
(\W|^)stock\s{0,3}tip(s){0,1}(\W|$)
\s Leerzeichen kann 0..3x vorkommen
entspricht (s) dem Buchstaben s und {0,1} zeigt an, dass der Buchstabe 0- oder 1-mal nach dem Wort "tip" stehen kann.
Der reguläre Ausdruck entspricht also stock tip und stock   tips.
Sie können auch das Zeichen ? anstelle von {0,1} verwenden.


Sie suchen ein Wort oder eine Wortgruppe in der folgenden Liste:
elektor   elex   AATiS   praktiker   ELV
/.*(?i)(\W|^)(elektor|elex|AATiS|praktiker|ELV)(\W|$)  76 Dokumente

  (…)  gruppiert alle Wörter, d. h., die Zeichenklasse \W gilt für alle Wörter innerhalb der Klammern.
  (?i) sorgt dafür, dass beim Abgleich des Inhalts die Groß-/Kleinschreibung nicht berücksichtigt wird.
  \W    entspricht jedem Zeichen, das kein Buchstabe, keine Zahl und kein Unterstrich ist.
So wird verhindert, dass der reguläre Ausdruck Zeichen vor und nach den Wörtern bzw. Wortgruppen sucht.
  ^  entspricht dem Anfang einer neuen Zeile. Der reguläre Ausdruck entspricht dem Wort, wenn es am Zeilenanfang steht und keine Zeichen vor ihm stehen.
  $ entspricht dem Ende einer Zeile. Der reguläre Ausdruck entspricht dem Wort, wenn es am Zeilenende steht und keine Zeichen nach ihm stehen.
  |  steht für  ODER , damit der reguläre Ausdruck jedem einzelnen Wort in der Liste entspricht.
  \s  entspricht einem Leerzeichen. Verwenden Sie dieses Zeichen, um Wörter einer Wortgruppe zu trennen.





Beispiele regulärer Ausdrücke
https://support.google.com/a/answer/1371417?hl=de


Jahreszahl 2019
/.*(19\d{2}|20\d{2})
Mit diesem RegEx Beispiel kann die Eingabe einer Jahreszahl zwischen 1900 und 2099 überprüft werden.


Datum2016-06-13
/.*(0?[1-9]|[12][0-9]|3[01])[- /.](0?[1-9]|1[012])[- /.](19|20)?[\d]{2}                     229 Dokumente
Mit diesem RegEx Beispiel kann die Eingabe eines Datums überprüft werden.
Das Datumsformat kann dabei 1- oder 2-stellige Tages und Monatsangaben
wie auch 2- oder 4-stellige Jahresangaben zwischen 1900 und 2099 prüfen.
Als Trennung werden Bindestrich, Leerzeichen und Punkt zugelassen.
findet  2016-06-13   05-07-96    pr84-06-08   1986-3-50   07.06.2018    V6.9.12


Postleitzahl  D-12345
/.* D-[0-9]{5}.*        
Mit diesem RegEx Beispiel kann die Eingabe einer Postleitzahl überprüft werden, die in Deutschland immer fünfstellig ist und den Zahlenraum von 0 bis 9 belegt.


IP-Adresse 192.168.0.255
/.* ((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5]).*   
Mit diesem RegEx Beispiel kann die Übergabe einer IP Adresse auf Plausibilität überprüft werden.
Eine IP Adresse besteht aus 4 Ziffernblöcken getrennt durch einen Punkt, wobei jeder einzelne Ziffernblock die Ziffern von 0 bis 255 belegen kann.


E-Mail-Adresse
/.* ([a-zA-Z0-9][\w.-]*)@((?:[a-zA-ZüöäÜÖÄ0-9][\wüöäÜÖÄ.-]*\.)*[a-zA-ZüöäÜÖÄ0-9][\wüöäÜÖÄ._-]*\.[a-zA-Z]{2,}|((\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5]))
[email protected]   [email protected]   [email protected]
Mit diesem RegEx Beispiel kann die Übergabe einer E-Mail-Adresse mit falscher Syntax relativ zuverlässig überprüft werden.
Eine E-Mail-Adresse mit gültiger Syntax ist jedoch nicht zwingend auch eine gültige E-Mail-Adresse!
Eine E-Mail-Adresse besteht grundsätzlich aus einem Empfängernamen, dem Zeichen @ und dem Domainteil .at, der wiederum aus einer Subdomain und Domain oder IP-Adresse.


/.* Tel\. .*     Telefonnummer   Tel: +43 7273 6030-0      00 800 / 2314 4000
/.* Tel[\.|:|\.:]? ((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))( [2-9]{1}[\d-?]{2,10}).*
#^((((\+|[0]{2})\d{1,4} )(\(?([1-9]{1})([\d]{1,4}\)?)))|(\([1-9]{1}[\d]{1,4}\))|([0]{1}[\d]{1,5}))( [2-9]{1}[\d-?]{2,10})$#
In diesem RegEx Beispiel wurden die beiden zuvor erläuterten Beispiele verknüpft, sodass die Übergabe einer kompletten Telefonnummer inklusiv Länderkennzahl und Ortsnetzkennzahl auf Plausibilität überprüft werden.
Eine standardisierte Teilnehmerrufnummer hat mindestens 3 Ziffern und maximal 11 Ziffern.
Die Länge von Rufnummern im internationalen Telefonverkehr ist auf höchstens 15 Ziffern, einschließlich Ländercode (49), ausschließlich Verkehrsausscheidungsziffern (0), einschließlich Telefonvorwahl (40) und der Teilnehmerrufnummer festgelegt.
Dieses Beispiel, anhand der Google Telefonnummer, erlaubt die folgenden Eingaben:
 +49 (40) 80817-9000
 +49 40 80817-9000
0049 (40) 80817-9000
0049 40 80817-9000
(40) 80817-9000
 040 80817-9000


Jahreszahlen
/.* \d\d\.\d\d\.\d\d.*
Er findet nur Daten, bei denen Tage und Monate und Jahre exakt mit zwei Ziffern angegeben sind.
Daten mit einstelligen Tag- oder Monatsangaben findet er nicht, ebensowenig Daten mit  vierstelligen Jahresangaben.

/.* \d(\d)?\.\d(\d)?\.\d\d(\d\d)?.*                 173 Dokumente
/.* \d{1,2}\.\d{1,2}\.\d{2,4}.*       13.06.2013            173 Dokumente
Sowohl zweistellige als auch vierstellige Jahreszahlen sind zulässig
Sowohl einstellige als auch zweistellige Tag- und Monatsangaben sind zulässig
/.* \d{2,4}-\d{1,2}-\d{1,2}.*         2016-06-13            173 Dokumente


Postleitzahlen
/.* A-[1-9][0-9]{3}.*              834 Dokumente  A-7242
/.* D-[1-9][0-9]{4}.*              173 Dokumente  D-58513


                                                                                                                                                             

                                                                                                                                                             

                                 Beispiele für Reguläre Ausdrücke
https://webdesign.tepelmann.com/PHP_Beispiele_fuer_Regulaere_Ausdruecke.html





/.* (31|30|[012]\d|\d)\.(0\d|1[012]|\d)\.(19[789]\d|20[0123]\d).*       Datum nicht genau
Ein Datum besteht aus einem 1-2-stelligen Tag, einem 1-2-stelligen Monat und einem Jahr (2/4-stellig).
Gespeichert wird ein Datum ganz gerne als 32-Bit-Zahl, die die Sekunden seit 1.1.1970 angibt.
Dies kennt man gemeinhin von Unix so (1970 gilt als Start der Unix-Zeit).
Mit einer 32-Bit-Zahl ist man jedoch auch beschränkt auf Datums bis 2038, was dieser Ausdruck zum Ausdruck bringt:

/.* (31|30|[012]\d|\d)[./](0\d|1[012]|\d)[./](\d{4}|\d\d).*          Datum 31.02.2033
/.* (0\d|1[012]|\d):([0-5]?\d).*                                                 12h Uhrzeit   09:44
/.* ([01]?\d|2[0-3]):([0-5]?\d).*                                                24h Uhrzeit  22:44
/.* ([01]?\d|2[0-3]):([0-5]?\d):([0-5]?\d).*     Sekundengenaue 24h Uhrzeit  22:44:59


/.* (ISBN:)? \d-\d{6}-\d\d-\d.*                   ISBN mit und ohne Literal "ISBN" davor:
Hier ein Ausdruck zum Erkennen von ISB-Nummern der Art ISBN 3-925660-91-7 oder nur 3-925660-91-7.
10-stellig und 13-stellig Formate sehr unterschiedlich
ISBN:       3772367135
ISBN:       3-7723-6713-5
ISBN:       3-772-36713-X
ISBN        3-921803-24-1
ISBN        3-92180-324-1
ISBN 978-90-5381-251-8
ISBN 978-9-053-81251-8


Reguläre Ausdrücke - eine Sammlung
http://www.koepferl.de/publikationen/regex.xhtml



Wiederholung
a+      a   1-mal bis mehrmals

[+][1-9]{2}[ ][1-9][0-9]{1,3}[ ][1-9][0-9]+               [+] maskiertes +

([A-Za-z]+ )*[A-Za-z]+!?



********************************************************I*
           RegExp (regular expressions)
Tutorial für blutige Anfänger       Perl 5  verbreiteste Engine / Standard


 - ASCII-Bereich kann mit  -  definiert werden: [ <Startzeichen> - <Endzeichen> ]  = [a-zA-Z0-9]

Quantifier (Wiederholungen)
Zeichen   Bedeutung
a?        a kommt kein- oder einmal vor.
a+        a kommt mindestens einmal vor.
a*         a kommt kein oder mehrmals vor.
a{3}      a kommt genau drei mal vor.
a{3,}     a kommt mindestens drei mal vor.
a{,5}     a kommt maximal fünf mal vor.
a{3,5}   a kommt mindestens drei, aber maximal fünf mal vor.
^a              Die Zeichenkette beginnt mit einem Text der auf a passt
ausdruck$   Die Zeichenkette endet mit einem Text der auf ausdruck passt
^ab$         Die Zeichenkette passt von Anfang bis Ende auf ab

. Beliebiges Zeichen
Beschreibung:
Der . entspricht einem beliebigen darstellbaren Zeichen (abhängig von den RegExOptions werden whitespace-Zeichen gefunden oder auch nicht)
  .   findet irgendein Zeichen außer Zeilenumbruch (. = [^\r\n])
  .* findet eine komplette Zeile

Beispiel:
h.se findet "hase", "hose" oder auch "h9se"
h.s. findet "hass", "hast" oder "Schiss". Aber wieso "Schiss"? Ganz einfach, weil vor "h" oder nach dem letzten "s" kein Leerzeichen
steht, dieser Suchausdruck kann auch innerhalb eines Wortes sein.

? 0 oder 1 Vorkommen
Beschreibung:
Der vorangehende Ausdruck kommt 0x (also gar nicht) oder 1x vor.
Beispiel:
a.* (<- am ende ein leerzeichen!!!) findet im String "a b c d" nur "a b c ", da logischerweise nach "d" kein leerzeichen kommt.
Mittels .* wird bis dahin gesucht, was nach dem "*" steht, steht da nichts, dann wird höchstens bis zum nächsten Zeilenumbruch gesucht.
ABER mit dem ? Zeichen wird nur bis zum >ERSTEN< Vorkommen des nächsten Zeichens gesucht, also was nach dem ? kommt.
Schreiben wir nun ein Fragezeichen dazu, also a.*? , so wird nur "a " gefunden, da nach diesem ja bereits schon das nächststehende Leerzeichen kommt.
Komischerweise scheint das mit dem "?" in der VB-Hilfe vergessen worden zu sein.
Also a.*? findet alle wörter die mit "a" anfangen, und bis dahin, wenn ein Leerzeichen kommt.
Im Text "Das ist mein RegEx-Tutorial fürs VB-Paradise Forum" würde mit dem eben genannten Suchausdruck "as ", "al " und "adise" gefunden werden.
Würden wir bei dem Suchmuster vor dem "a" auch noch ein Leerzeichen platzieren, so würden wir im eben beschriebenen Text nichts finden da dort kein wort mit "a" anfängt.


* 0 oder mehr Vorkommen
Beschreibung:
Findet 0 (null) oder mehr Vorkommen des vorangehenden Ausdrucks und ergibt somit alle möglichen Übereinstimmungen.
Beispiel:
"Han*es" findet "Hannes", "Hannnnnes" oder "Hannnnnnnnnnes" aber auch "Hanes" und sogar "Haes"(wie gesagt, möglich ist 0 oder mehrmals).
"Ha.*es" findet "Hannes", "Hastiges" oder "Haltendes" aber auch "Ha325!%es", da ja nicht festgelegt ist, welche Zeichen innerhalt des Wortes erlaubt sind, aber das kommt nachher noch alles mit "[" und "]".
Um ".*" mal in Worte zu fassen: Der Ausdruck sucht "Ha", wenn gefunden, wird alles was dann kommt ebenfalls positiv gematcht.
In dem Fall ".*" was soviel heißt wie "ein beliebiges Zeichen beliebig oft oder gar nicht".
Und am Ende dann irgendwann "es". Für den größeren Teil der Leser dieses Tuts wird es jetzt verwunderlich sein wenn Ich sage, dass damit auch "Ha123xyz!eseseseseseses" gefunden würde, wir haben nicht festgelegt, dass die Übereinstimmungssuche gleich beim ersten vorkommen von "es" enden soll.
Auch dafür gibt es eine Lösung, lest weiter, Ihr werdet wissen wann die Stelle kommt 

+ 1 oder mehr Vorkommen
Beschreibung:
Findet mindestens ein oder beliebig viele Vorkommen des vorangehenden Ausdrucks
Beispiel:
Im Gegensatz zu * würde bei Han+es zwar auch "Hanes" "Hannes" oder "Hannnnnnnes" und so gefunden werden, jedoch NICHT "Haes", da der Ausdruck mindestens einmal vorkommen muss

^Anfang des String / der Zeile
Beschreibung:
Bezeichnet den Anfang eines Strings oder einer Zeile (je nach dem bei RegExOptions festgelegten Wert(en))
Beispiel:
^d Findet ein "d" nur, wenn es am Anfang des Strings steht, der Ausdruck ^.* findet Beispielsweise die erste Zeile des Strings bis zum Zeilenumbruch oder zum Textende, falls es nur eine Zeile ist.

$ Ende des String / der Zeile$
Beschreibung:
Bezeichnet das Ende eines Strings oder einer Zeile (je nach dem bei RegExOptions festgelegten Wert(en))
Beispiel:
Wie ^ nur dass es mit $ das Ende eines Strings ist. Wäre der zu durchsuchende String nun:
"Ich schreibe gerade einen Teststring" und würden wir nach ...$ suchen, so würden wir "ing" finden.



\n Zeilenumbruch
Beschreibung:
Findet Zeilenumbrüche
Beispiel:
Hier mal ein Test-text:
"Heute bin ich so motiviert, dass ich angefangen habe, ein Tutorial für das Forum zu schreiben."
So, und wenn wir nun nach .\n. suchen würden, dann würden wir folgende Strings finden: "ot", "ha" und "um".
Suchen wir nach ^.*?\n so erhalten wir die komplette erste Zeile.

\s Leer-Zeichen
Beschreibung:
Findet alle Whitespace-Zeichen (= nicht-anzeigbare Zeichen wie etwa Zeilenumbruch, Tab, Leerzeichen etc..)
Beispiel:
\s findet alle Zeichen die nicht dargestellt werden.

\t Tabulator-Zeichen
Beschreibung:
Findet alle Tabulatoren-Zeichen
Beispiel: \t findet alle Zeichen die nicht dargestellt werden.

[...]
Beliebiges Zeichen in der Menge

Beschreibung:
Findet eines der Zeichen, die in den eckigen Klammern enthalten sind.
Geben Sie zum Festlegen eines Bereichs von Zeichen das Start- und das Endzeichen durch einen Bindestrich (-) getrennt ein, wie in [a-z].
Beispiel:
"\sF[aeiou]s.*?\s" Findet Worte die mit "F" anfangen und danach einen Selbstlaut(also einen der Buchstaben in den eckigen klammern) haben bis zum nächsten Leerzeichen, also Beispielsweise " Fasan ", " Fussball " oder " Fasten ", gefoch nicht "Frisch", "Flug" oder "Franz", da hierbei nach dem "F" keiner der Buchstaben a,e,i,o oder u kommt(also keiner DIREKT nach dem "F") "[a-z0-9]" findet jedes (einzelne) Zeichen wenn es ein Buchstabe oder eine Zahl ist.
Mit dem "+" kann hierbei praktischerweise die Übereinstimmung fortgesetzt werden.
Im Text "In diesem Text kommen auch Zahlen vor, wie 1, 23, 300 oder 19" finden wir mit dem Suchmuster "\s[a-z ]+"
Beispielsweise vom Wort "dem" bis zu der Stelle an der die Zahlen anfangen, da zahlen im Alphabet nicht vorkommen(PS:
ab dem Wort "dem" deshalb, weil wir davor ein "\s" haben!!
Und noch eine Falle: wir haben nach dem "z" in "[a-z ]" ein Leerzeichen, hätten wir das nicht, würden wir NUR das wort "dem" finden, da Leerzeichen auch nicht im Alphabet enthalten sind! Immer gut aufpassen!).
Im Text "8723 das waren zahlen, hier kommen noch mehr: 876578345" finden wir mit dem suchmuster "^[0-9]+" nur den ersten Zahlenblock, da ab dem Leerzeichen abgebrochen wird, welches ja ebenfalls bei den Zahlen 0-9 nicht enthalten ist.

[^...] Beliebiges Zeichen nicht in der Menge
Beschreibung:
Findet ein beliebiges Zeichen, das nicht im Satz von Zeichen nach ^ enthalten ist.
Die Bedeutung des ^ -Zeichens ist hier nicht mehr das Anfang des Strings/der Zeile.
Beispiel:
Ha[^nu]s findet "Hals" aber nicht "Hans" oder "Haus".

(...) Gruppierung
Beschreibung:
Ermöglicht es Ihnen, einen Satz von Ausdrücken zu gruppieren.
Wenn du nach zwei verschiedenen Ausdrücken suchen magst, kannst du diese mit dem Gruppierungsausdruck kombinieren.
Beispiel:
([0-9][a-z])+ findet alle Zeichenfolgen, wenn abwechselnd eine Zahl und dann ein Buchstabe folgt.
Im String "3h4g9w2g6b5y0lzdh3j2q8f62441" würde gefunden werden: "3h4g9w2g6b5y0l" und "3j2q8f".
Oder leichter Dargestellt: Im String "0F0F0F0F0FFFFFF0F0F0F0000" würde gefunden werden: "0F0F0F0F0F" und "0F0F0F".
Mithilfe der Gruppierung kann man mehrere Ausdrücke einfach miteinander verketten.
Äußerst interessant sind gruppierte Ausdrücke wenn es später dann auch um's Ersetzen geht.

| ODER
Beschreibung:
Findet entweder den Ausdruck vor oder nach dem Symbol |-Zeichen.
Wird meistens in einer Gruppe verwendet.
Beispiel:
(ab|ein|aus|um|allein)gang  findet die Strings "abgang", "eingang", "ausgang", "umgang" und "alleingang".
Hierbei wird wird mit ODER gearbeitet, kommt also ein Ausdruck nicht vor, wird der nächste probiert.
Der Ausdruck ver(sau|ursach|schwende|damm)t  findet "versaut", "verursacht", "verschwendet" und "verdammt". Ist logischerweise nicht wie ver[a-z]+t  zu behandeln, da die Strings die zwischen "ver" und "t" stehen vorgegeben sind, und nicht beliebig auftauchen.

\ Escape-Zeichen
Beschreibung:
Findet das Zeichen, das dem umgekehrten Schrägstrich \ als Literal folgt.
Damit kannst du Zeichen wie { und ^ suchen, die in der Notation normalerweise für reguläre Ausdrücke verwendet werden.
Beispiel:
Mit \. kann in einem Text nach dem Punkt als String gesucht werden. ..\$ findet beispielsweise nicht das Zeilenende, sondern den Text "ab$" oder "var$".
Der Ausdruck <.*?> findet alles was zwischen zwei "<>" steht, also beisp "<title>" oder "</body>".
Der Ausdruck \[.*?\] findet alles was zwischen zwei [ ] (eckigen Klammern) steht, also "[Wort]", "[autorun]" und so weiter.
Das \ vor "[" und "]" ist wichtig, damit die [] Zeichen als String erkannt werden können.
Das ist nötig bei jedem Zeichen, welches in der RegEx-Notation eine spezielle Bedeutung hat.
Also statt "+" nach \+ suchen, statt "/" ein "\/" oder statt "." ein "\.", naja ihr versteht schon.

{...} fest definierte Anzahl an Vorkommen
Beschreibung:
Gibt an, wie of der vorangehende Ausdruck minimal, maximal oder minimal und maximal vorkommen darf.
Mögliche Zustände:
[0-9]{4, 8} Mindestens 4 und höchstens 8 Zahlen nacheinander
[0-9]{4,} Mindestens 4 Zahlen oder beliebig viele
[0-9]{,8} Beliebig viele Zahlen, aber mindestens 8
[0-9]{5} Genau 5 Zahlen
Beispiel:
[0-9]{4} findet alle Strings die nur aus Zahlen bestehen und vierstellig sind.
Findet beispielsweise "8932", "5897" und "2385" in "8932589723857".

Metazeichen sind   . * ? +   \ ^ $  |  (  ) [  ]  {  }
Metazeichen müssen mit  \.  oder [.]  maskiert werden
Man kann alle Sonderzeichen bedenkenlos maskieren
(VORSICHT: alphabetische Zeichen keinesfals maskieren ! ! !
^   nur am Anfang        nur in der Mitte


\a   Bell (Piepser)
\n   Zeilenumbruch (newline)
\r   Zeilenumbruch (carriage return)
\t   Tabulator
\v   vertikaler Tabulator
\e   Escape
\x00-\xFF           Zeichen in Hexadecimal (ASCII)
\cA-\cZ               ASCII Kontrollzeichen
\u0000-\uFFFF  Zeichen in Hexadecimal (Unicode)


Vordefinierte Zeichenklassen:
\d    [0-9] - Zahl
\w   [A-Za-z0-9_] - Wort
\s    [ \t\r\n] (auch: [ \t\r\n\v\f]) - Leerzeichen  \s? mit oder ohne Leerzeichen
\W  [^\w] - kein Wort
\S   [^\s] - kein Leerzeichen



https://wwwlehre.dhbw-stuttgart.de/~vilas/RegExp.pdf




Reguläre Ausdrücke für einzelne Zeichen
Symbol Beispiel Ergebnis Verwendung
. Ma.er findet Maier, Majer, Mayer Ein beliebiges Zeichen
[ ] Ma[iy]er findet Maier, Mayer Eines der Zeichen in den Klammern
[ - ] b[a-z]d findet bad, bbd, bcd, bzd Ein Zeichen im angegebenen Bereich
(Reihenfolge gemäß Zuordnungstabelle)
[^ ] Ma[^iy]er  findet Majer, aber nicht Maier oder Mayer Ein nicht in den Klammern aufgelistetes Zeichen
\d Nr \d findet Nr 1, Nr 9 Eine Ziffer (entspricht [0-9])
\D Nr \D findet Nr A, aber nicht Nr 1 Keine Ziffer (entspricht [^0-9])
\w Anhang \w findet Anhang 1, Anhang A Buchstabe, Ziffer oder Unterstrich (entspricht [a-zA-Z0-9_])
\W abc\Wefg findet abc efg, aber nicht abcdefg kein Buchstabe, Ziffer oder Unterstrich (entspricht [^a-zA-Z0-9_])
\t abc\txyz findet abc & vbTab & xyz Steuerzeichen „Tabulator“
\n abc\nxyz findet abc & vbNewLine & xyz Steuerzeichen für Zeilenumbruch
\f abc\fxyz findet abc & vbFormFeed & xyz Steuerzeichen für vbFormFeed
\r abc\rxyz findet abc & vbLf & xyz Steuerzeichen für vbLf
\x \x41BC findet ABC Auf „x“ folgt der hexadezimaleZeichenwert eines Zeichens

Reguläre Ausdrücke für den Gesamtausdruck
Symbol Beispiel Ergebnis Verwendung
^ ^Wort findet Wort am Anfang markiert den Anfang der Zeichenkette/Zeile
$ Wort$ findet Wort am Ende markiert das Ende der Zeichenkette/Zeile
\b ung\b findet ung am Wortende bezeichnet eine Wortgrenze (zwischen \w und \W)
\B \Baus findet Haus oder Maus, aber nicht aus bezeichnet alles außer einer Wortgrenze

Will man nach einem Zeichen suchen, das in einem regulären Ausdruck eine Bedeutung hat, wie
z. B. [ oder ^, muss man einen Backslash (\) voranstellen.
Das nennt man „das Zeichen maskieren“. Um nach dem Backslash selbst zu suchen, entsprechend zweimal den Backslash.

Reguläre Ausdrücke für (Teil)ausdrücke
Symbol Beispiel Ergebnis Verwendung
* Han*s findet Has, Hans, Hanns der vorhergehende Ausdruck nicht oder beliebig oft
+ Han+s findet Hans, Hanns der vorhergehende Ausdruck einmal oder beliebig oft
? Han?s findet Has oder Hans der vorhergehende Ausdruck nicht oder einmal
{ } A{3} findet AAA der vorhergehende Ausdruck exakt so oft, wie in der Klammer angegeben
{ , } A{2,4} findet AA, AAA und AAAA der vorhergehende Ausdruck so oft, wie in der Klammer angegeben
{ ,} A{3,} findet AAA, AAAA, AAAAA, ... der vorhergehende Ausdruck mindestens so oft, wie in der Klammer angegeben
{, } A{,4} findet A, AA, AAA und AAAA der vorhergehende Ausdruck höchstens so oft, wie in der Klammer angegeben

Um nach Teilausdrücken zu suchen, ist also beispielsweise auchIch gehe( langsam)? zu dir möglich, wenn man nicht weiß,ob „langsam“ an der entsprechenden Stelle im String vorkommt.

In den Klammern können mit | auch Alternativen eingebautwerden, z. B.
And(i|reas), für Andi oder Andreas,
Wir gehen zu (dir|mir|uns|euch).


regular Expressions  Basics

Regular Expressions - oder, auf Deutsch, reguläre Ausdrücke - dienen dazu, einen Text auf bestimmte Zeichenfolgen zu überprüfen und diese dann - bei Bedarf - zu manipulieren.

Diese Suchbegriffe können durch die regexp-Syntax sehr variabel gehalten werden.
Sie sind Programmiersprachen-unabhängig, soll heissen, sowohl für php als auch für Perl ( als Beispiel ) gelten die gleichen Regeln - nur das "Drumherum" ist anders.

Deswegen werde ich mich - zu Beginn - nur mit den reinen regexp beschäftigen.

Regexp setzen sich zusammen aus Literalen und aus Metazeichen. Literale sind Buchstaben, auf die exakt geprüft werden soll und die Metazeichen bringen die Variablität rein. Ein Beispiel: Die regexp /abc/ besteht nur aus Literalen: sie schlägt nur bei abc zu, Abc zB wird ignoriert, da das große A nicht dem kleinen a entspricht.

Die - für uns vorerst wichtigen - Metazeichen sind:

1.Allgemein:

  • ^ steht für den Textanfang. /^abc ist nur dann wahr, wenn der Text mit abc beginnt.
  • $ steht für das Textende. /abc$ ist nur dann wahr, wenn der Text mit abc endet.
  • \b steht für eine Wortgrenze. abc ist wahr, wenn abc als eigenes Wort im Text auftaucht ("abc def ...") und falsch, wenn abc nur Teil eines Wortes ist ( "abcd ef..." )
  • \B ist das Gegenteil von \b. abc ist falsch, wenn abc als eigenes Wort im Text auftaucht ("abc def ...") und wahr, wenn abc nur Teil eines Wortes ist ( "abcd ef..." )
  • | dient als oder-Verknüpfung. /abc|xyz ist sowohl bei abc als auch bei xyz wahr.

2. Wildcards, Suchbereiche:

  • . ( der Punkt ) steht für ein beliebiges Zeichen: /ab.c ist wahr, wenn im Text zB abxc, ab1c oder ab c steht.
  • Es ist nicht wahr, wenn zwischen ab und c mehr als ein Zeichen steht.
  • [...] Eckige Klammern definieren einen Zeichenbereich, der für ein Zeichen im Originaltext steht.
  • HÄH? OK, ein Beispiel: Wenn zB nach einem Herrn Maier gesucht wird, aber nicht sicher ist, ob er im Text nun Maier oder Meier geschrieben wurde, kann man ihn mittels /M[ae]ier suchen:
  • Die regexp gibt sowohl beim "Meier" als auch beim "Maier" wahr zurück.
    Es können auch ganze Zeichen-Bereiche abgedeckt werden:

    - [A-Z] trifft auf alle Großbuchstaben zu
    - [a-z] trifft auf alle Kleinbuchstaben zu
    - [0-9] trifft auf alle Ziffern zu

  • ^ Jetzt wird's etwas irritierend, weil - den hatten wir doch gerade schon. Innerhalb der eckigen Klammern kommt dem ^ nämlich die Funktion des Negierens zu - die regexp gibt wahr zurück, wenn der Zeichenbereich nicht zutrifft.
  • Auch hier ein Beispiel:
  •  /1234[^5] findet alle Zeichenfolgen 1234, denen keine 5 folgt.


3. Wiederholungsangaben:
Wiederholungsangaben machen die Suchbereiche und Wildcards noch flexibler.

Sie werden direkt hinter der betroffenen Klammer bzw dem Punkt/Stern angegeben.

  • * steht für beliebig oft oder gar nicht. Beispiel: /abc[x]*d ist wahr, wenn zwischen abc und d gar nichts oder ein oder mehrere x stehen - es ist falsch, wenn irgendein anderes Zeichen dazwischen steht.
  • + hat im Prinzip die gleiche Wirkung wie das *, nur das in diesem Fall die Suchzeichen mindestens einmal auftreten müssen. Beispiel: /.+/ ist wahr, wenn mindestens ein beliebiges Zeichen vorhanden ist.
  • ? bedeutet: Kann da sein, muss aber nicht. Im Prinzip also wieder wie das *, nur das hier die maximale Trefferlänge 1 beträgt.
  • {n1,n2} schränkt den Grössenspielraum ein: n1 steht für die Mindestanzahl Treffer, n2 für die Maximalanzahl.
  • Die Maximalanzahl kann bB weggelassen werden. 
  • Mit Komma ( "{n1,}" ) wird die regexp wahr, wenn die Fundstelle mindestens n1 Zeichen lang ist. Ohne Komma ( "{n1}" ) wird sie wahr, wenn genau n1 Zeichen gefunden werden.
4. Maskieren
Es kann natürlich vorkommen, daß mit der regexp Zeichen gesucht werden, die innerhalb der regexp eine eigene Funktion haben ( Beispiel: . - der Punkt. ).
Diesen Zeichen wird durch einen vorgestellten Backslash (\. ) die Metazeichen-Funktion genommen und in ein ganz normales Literal umgewandelt.






********************************************************I*
      schaltungen suchen mit RegEx

http://sites.schaltungen.at/elektronik/google-suche/schaltungen-suche

von mir gebaute Schaltungen  +++
098_c_Print-Technik-x_Disco-Blinker (Schmuck) +++ (45x45mm) § ECM BC238 BC307_1a.pdf

RegEx suche geht nur im Eingabegfeld  Suche und Text
geht nicht im Komponenten Suchfeld
elektor DVD  917_d_#93-12s64-x_936060-11 Drehzahlregler für 12V Bohrmaschinen § LM317 LM358 BC557_1a.pdf
im Komponenten Suchfeld     #93-12s64-x         /.*#92-\d\d-\d\ds\d\d-x .*   RegEx geht da NICHT ! ! !


alle meine Bücher
750_a_Tabelle-x_Prenninger Elektronik Bücherliste-0528-05-22 (528 Elektronik-Bücher)_5a.xls


                                 SUCHE nach
01) Jahr - Heft s Seite   2014-09s062     nicht ?????-??s???   sondern  /.*[0-9]{4}-[0-9]{2}s[0-9]{2,3}.*     608 Dokumente



02) elektor
084_d_elePOST-x_Nr.16 130261-11 BASIC für PICs (2) I-O-Schaltungen PICAXE § PICAXE-08M2 4N25_1a.pdf
035_d_elektor-x_1994-12s030 Mikrocontroller-Lupe (Software 946203-1) _1a.zip
916_d_#89-2s68-x_894xx-11 Phasenverschiebung und Allpass (Grundlagenkurs Filter )_1a.pdf
elektor bis 1988    12345-11     nicht ?????-11 sondern  /[0-9]{5}-11 .*  ODER   /\d\d\d\d\d-11 .*               1.333 Dokumente
elektor bis 1988    12345-11     nicht ?????-11 sondern  /.*[0-9]{5}-11 .*  ODER   /.*\d\d\d\d\d-11 .*           4.769 Dokumente
elektor bis 1988    12345-11     nicht ?????-11 sondern  /.* [0-9]{5}-11 .*  ODER   /.* \d\d\d\d\d-11 .*             26 Dokumente
elektor bis 1988    12345-11     nicht ?????-11 sondern  /[0-9]{6}-11 .*  ODER   /\d{5,6}-11 .*                    3.209 Dokumente
elektor bis 1988    12345-11     nicht ?????-11 sondern  /.*[0-9]{6}-11 .*  ODER   /.*\d{5,6}-11 .*                3.394 Dokumente
elektor bis 1988    12345-11     nicht ?????-11 sondern  /.* [0-9]{6}-11 .*  ODER   /.* \d{5,6}-11 .*                 196 Dokumente
elektor ab 1988   123456-11     nicht ??????-11 sondern   /.*[0-9]{5,6}-11 .*  ODER   /.* \d{5,6}-11 .*         4.769 Dokumente
elektor Heft#262      Heft#270,  nicht Heft#???    sondern /.* Heft#[0-9]{1,3}.*                                              50 Dokumente
 
              
suche nach   /.* Heft#[0-9]{1}.*   findet Heft#05-06-70                                                                               50 Dokumente  
das .* am Ende heißt IRGENDWAS ... d.h. es findet Heft#0 und die Ziffer 5 ist IRGENDWAS!
du willst vermutlich /.* Heft#[0-9]-.* oder sowas - dann ist es nur 1 Ziffer und ein Bindestrich danach

Tipp: Was ich glaub ich nicht erwähnt habe: mit ^ kann man eine Zeichenklasse negieren
/.* Heft#[0-9][^0-9].* findet alles wo nach dem # 1 Ziffer ist und dann KEINE ZIFFER (irgendwas anderes) kommt

dh ^ innerhalb von eckigen Klammern und gleich am Anfang negiert die Zeichenklasse ... [^abc] = kein a, kein b und kein c
^ außerhalb von eckigen Klammern steht für den Beginn des Textes ($ steht für das Ende)

              

elektor Scherzschaltungen 34  1992#26s045      /.*[0-9]{4}#[0-9]{2}s[0-9]{3} .*


506_b_7D-7Led-8T-0V_065107-11--  LärmMeßgerät, VU-Meter, Lautstärke-Anzeige BF245A BC337_1b.doc
i-TRIXX elektor     06KW08-11--   nicht ??KW??-11--     /.* [0-9]{2}KW[0-9]{2}-11 .*        /.* \d\d\w\w\d\d-11 .*     /.* \d\d\KW\d\d-11 .*   geht NICHT da Leerzeichen und backslash vor K
Das 06KW08-11 steht am anfang des titels und hat somit gar kein Leerzeichen davor aber auch keines dahinter
i-TRIXX elektor     06KW08-11--    nicht ??KW??-11--     /.*[0-9]{2}KW[0-9]{2}-11.*          /.*\d\d\w\w\d\d-11.*         /.*\d\dKW\d\d-11-- .*


691_c_Appl.-z_Bd01-Tl1-$0016_1a.gif
676_d_Appl.-z_Bd.300-$028_1a.pdf
796_c_elektor-x_BUCH 300 Schaltungen Seite#048_1a.pdf
~679_c_Appl.-z_Bd.303-$031_1a.pdf
688_c_Appl.-z_Bd12-Tl0-$0010_1a.gif

10.000 Schaltungen     Bd05-Tl0-$0128   nicht nach  Bd05-Tl0-$???? sondern   "Bd05-Tl0-$"  geht       /.* \w\w\d\d-Tl0-$[0-9]{4} .*  geht  NICHT da Leerzeichen und $
Das Bd05-Tl0-$0128 steht am anfang des titels und hat somit gar kein Leerzeichen davor
wie aufgeschrieben steht in RegEx das $ Zeichen für das Ende des Textes wenn du nach einem $ Zeichen suchen willst, musst du \$ nehmen

10.000 Schaltungen     Bd05-Tl0-$0128   nicht nach  Bd05-Tl0-$???? sondern  /.*Bd05-Tl0-\$[0-9]{4} .*       /.*\w\w\d\d-Tl0-\$[0-9]{4} .*     ??? Dokumente

10.000 Schaltungen     05.88.15-en             nicht nach 05.??.??-en sondern     /.* [0-9]{2}.[0-9]{2}.[0-9]{2}-en .*  geht  NICHT !
Das 05.88.15-en  steht am anfang des titels und hat somit gar kein Leerzeichen davor
10.000 Schaltungen     05.88.15-en             nicht nach 05.??.??-en sondern     /.*[0-9]{2}.[0-9]{2}.[0-9]{2}-en .*     316 Dokumente


111_c_conrad-x_190319-62 PIR Sensor Modul KC7786 § PIR KC778B S9014_1a.pdf
535_b_3D-1IC-1U-4Dis-9V_192821-62 Digital LED Panelmeter, DVM-Modul 1mV bis 2kV HB333.1 +++ § ICL7107 CD4049 DS350PA_1a.pdf

CONRAD 123456-62 nicht ??????-62   sondern /.* [0-9]{5,6}-62 .*  ODER   /.* \d{5,6}-11 .*   ODER  /.* ......-62 .*

H-Tronic    HB448    nicht HB???   sondern   /.* HB[0-9]{3} .*  oder    /.* HB\d\d\d .*   oder   /.* H\w\d\d\d .*   = z.B. HF385  HT614  HX711  HS485  HI201


ELV-x        ELV-2013-04s86  (oder s086)   nicht ELV-2013-??s?? sondern   /.*ELV-[0-9]{4}-[0-9]{2}s[0-9]{2,3} .*  oder   /.*ELV-\d\d\d\d-\d\ds\d\d .*   warum kein Leerzeichen vor dem ELV
Das ELV-2013-04s86 steht am anfang des titels und hat somit gar kein Leerzeichen davor
ELV-x
      68-468-90                nicht 68-???-?? sondern   /.* 68-[0-9]{3}-[0-9]{2} .*      /.* 68-\d\d\d-\d\d .* 


562_b_ELO-x_S-Meter Tabelle für CB-Funker S9=50 uV_1a.pdf
ELO  nach ELO kann nicht gesucht werden !


~093_b_AATiS-x_AS016 LED-Großanzeige - Tipps_1a.doc
AATiS-x     AS123                    nicht nach  AS??? sondern  /.* AS[0-9]{3} .*      /.* AS\d\d\d .* 

AATiS-x     BB42                     nicht nach  BB?? sondern     /.* BB[0-9]{2} .*      /.* BB\d\d .* 
AATiS-x      AS0#0      AS0§0              AATiS AND AS0  


VHS-Kuse gehalten von Prenninger
496_b_Text-x_VHS6.3.07 Messfehlerschaltung, Stromfehlerschaltung, Spannungsfehlerschaltung_1a.doc
VHS-Kuse   VHS6.3.07  nicht VHS?.?.?? sondern


ASIC-Solar
999_d_ASIC-x_solarguide (Solaranlage) - 10 Ausschreibung_1a.pdf


print & technik
998_a_Katalog-x_Pr-Te154-00  Print-Technik KATALOG 1988-10 (Bausätze und Bauteile)_1a.pdf


ITM-praktiker
858_c_2T-4IC-9V_pr86-22-06 tea timer, Kurzzeitschalter (5sec. bis 2h) NE555 BD676 BC549_1a.pdf

praktiker      pr82-01-08, ITM-praktiker    nicht nach pr82-??-?? sondern   /.*pr[0-9]{2}-[0-9]{2}-[0-9]{2}.*         /.* pr\d\d-\d\d-\d\d.*        781 Dokumente


865_b_3Sch-2Pot-2T-1Ls-1U-1,5V_1986-2-22  UM3482  Melodien-Generator_1a.pdf
931_b_EAM-x_Drehzahlermittlung mit dem C-64 für den Lichtgriffel_1a.pdf
E-A-M-print       1986-2-22       nicht         1986-?-??     sondern              /.* \d{4}-\d-\d\d .*
E-A-M = H-Tronic HB448 oder HB448,


elex-x        85638X    86000X            nicht 8????X sondern    /.*8[0-9]{4}X .*     warum kein Leerzeichen vor dem 8er
Das 85638X steht am anfang des titels und hat somit gar kein Leerzeichen davor


elrad
x955_b_elrad-x_elrad.1985-01 (090 Seiten)_1a.pdf
955_b_elrad-x_elr.85-11s58 Mikrofon-Fader mit dem VCA-Modul_1a.pdf
elr.85-11s58  nicht 85-11s58   sondern  /.*elr.[0-9]{2}-[0-9]{2}s[0-9]{2,3} .*

ELRAD spezial
955_b_elrad-x_spe-4.051 Morse-Piepmatz 555 und Lautspr. (Der Morse Code) _1a.pdf

elrad-x   spe-5.093      nicht nach spe-?.???  sondern  /.*spe-[0-9]{1}.[0-9]{3} .*    oder   /.*spe-\d.\d\d\d .*  oder  /.*spe-\d.[0-9]{3} .*


KEMO
~615_b_2Pot-1D-1IC-6V_#B224 Laser-Show mit 2 Spiegelmotoren, Lissajous-Figuren_1b.doc
~635_b_1Xen-1Pot-1Dia-1Thy-1Tr-230V_#B025 U-Stroboskop_1b.doc
Kemo        #B191                nicht nach #B??? sondern  /.*#B[0-9]{3} .*    oder   /.*#B\d\d\d .*
Kemo        #M191               nicht nach #M??? sondern  /.*#M[0-9]{3} .*    oder   /.*#M\d\d\d .*


Velleman
823_c_7D-1T-1IC-1Ls-9V_K6600-de SAE800 Drei-Ton-Gong, Türklingel mit Dreiklang_1a.pdf
286_c_1D-1Led-1T-20V_K7302-de  BD135  einfaches Ladegerät NiCd, NiMH, 50..400mA, 1..10 Zellen_1a.doc
~770_c_velleman-x_manual  K4001-de  Verstärker 7W_1a.doc
~771_d_VELLEMAN-x_MK136-en  Super Stereo Kopfhörer_1a.pdf
566_b_2Led-1D-1Pot-1Sch-2T-9V_MK105-de  NE555 1kHz SIGNALGENERATOR, Sinus, Dreieck, Rechteck_1b.doc
Velleman    K1234                nicht nach K???? sondern  /.*K[0-9]{4} .*    oder   /.*K\d\d\d\d .*
Velleman    K8075-de            nicht nach K????-de sondern     /.*K[0-9]{4}-de .*    oder   /.*K\d{4}-de .*
Velleman    MK111                nicht nach MK??? sondern    /.*MK[0-9]{3} .*    oder   /.*MK\d\d\d .*


Oppermann
~874_b_3T-9V_B.096 MetallSuchgerät_1a.pdf
231_b_2T-12V_B.1025 BMV Bistabile Kippstufe, FlipFlop dymamisch angesteuert, statischen Eing._1a.pdf

Oppermann-x B.086              nicht nach B.??? sondern    /.*B.[0-9]{3,4} .*    oder   /.*B.\d{3,4} .*


PHILIPS
517_b_2T-9V_Philips EE2003 4.10 LDR Lichtmeßgerät ( LUX-Meter) mit Lautsprecher 150 Ohm_1a.pdf
247_b_2T-1La-1Ls-9V_EE1006-D29  BF194 BC148  RC-Oszillator_1a.pdf
447_b_3T-9V_Philips EE2004 1.10 Wechselsprechanlage (Gegensprechanlage) mit Lautspr.150 Ohm_1a.pdf
996_a_1T-4,5V_Philips A0 Elektronik für Kinder 3  Diode BA217 und Transistor BC158_1a.pdf
414_a_3T-9V_Philips A3 Gegentaktverstärker für Mikrofon mit 25 Ohm Lautsprecher_1a.pdf
~991_c_PHILIPS-x_EB74xx Hobby-Elektronik - Empfängerer-Bausatz  EB7409  EB7410 (techn. Daten)_1a.pdf
PHILIPS   EE1006-D29            nicht EE????-D29 sondern      /.*EE[0-9]{4}.*    oder   /.*EE\d\d\d\d.*
PHILIPS   EE2003                  nicht EE???? sondern      /.*EE[0-9]{4} .*    oder   /.*EE\d\d\d\d .*
PHILIPS   EB7753                  nicht EB7??? sondern       /.*EB[0-9]{4} .*    oder   /.*EB\d{4} .*


Smart Kit   B1045                 nicht nach B???? sondern
Smart Kit   B.1045                nicht nach B.???? sondern     /.*B.[0-9]{4} .*    oder   /.*B.\d\d\d\d .*


 797_a_Elek.m.Herz-x_EmH-043-  Transistor BC547B (Bauelemente der Elektronik)_1a.pdf
electronicum                       nicht TYPE-??? sondern
Cart Elektronik   Kar.04          nicht Kar.?? sondern
Cart Elektronik   P-100          nicht P-??? sondern
Cart Elektronik   C-014          nicht C-??? sondern
Elek.m.Herz-x    K-S-066      nicht K-S-??? sondern      /.*K-S-[0-9]{3} .*    oder   /.*K-S-\d\d\d .*
 

Elektronik Kurs   06.6 &  06.11       nicht ??.?  ??.?? sondern
Elektr. Kurse PrennIng.  VHS3.3.31 nicht VHS?.?.?? sondern /.*VHS[0-9]{1}.[0-9]{1}.[0-9]{2} .*  oder   /.*VHS\d.\d.\d\d .*
 

AMTRON
~797_c_AMTRON-x_AMTRON Bausätze UK-092 bis UK-995, Preisliste - Inhaltsverzeichnis 1976_1a.pdf
AMTRON    UK-092 bis UK995        nicht UK-???  sondern       /.*UK-[0-9]{3} .*    oder   /.*UK-\d\d\d .*


THOMSEN
~991_c_THOMSEN-x_Bausätze Bezeichnung TSB-xx  und vgs-Bausätze DSP-xx, Preisliste 1981_1a.pdf


~895_d_kit-S-x-x-12V_#JK000-x VU-Meter mit UAA180 mit 12 LEDs (JOSTYkit)_1a.pdf
JOSTYkit  #JK008-x           nicht #JK???-x sondern        /.*#JK[0-9]{3}-x .*    oder   /.*#JK\d\d\d-x .*
JOSTYkit  #AF20-x      nicht  #AF??-x   sondern     /.*#AF[0-9]{2,3}-x .* 
JOSTYkit  #AF310-x    nicht  AF???-x  sondern     /.*#AF[0-9]{2,3}-x .*
JOSTYkit  #AT50-x    nicht  #AT??-x   sondern     /.*#AT[0-9]{2,3}.* 
JOSTYkit  #AT320  nicht  AF???  sondern     /.*#AT[0-9]{2,3}.* 
JOSTYkit  #AE0-x
JOSTYkit  #AE080-2
JOSTYkit  #MI350     nicht  #MI???  sondern     /.*#MI[0-9]{2,3}.*      10 Dokumente oder    /.*#[A-Z]{2}\d{1,3}[^0-9]?.*     162 Dokumente
nicht vergessen dass \w auch auf Ziffern matched!
JOSTYkit  #NT10-x     nicht  #NT??-x  sondern     /.*#NT[0-9]{2,3}.* 
JOSTYkit  #GP304-x      nicht  #GP???-x  sondern     /.*#GP[0-9]{2,3}.* 
JOSTYkit  #GU312-x     nicht  #GU???-x  sondern     /.*#GU[0-9]{2,3}.* 
JOSTYkit   alle          nicht  #GU???-x  sondern  /.*#[A-Z]{2}\d{1,3}[^0-9]?.*     162 Dokumente
JOSTYkit  #B0000 nicht #B???? sondern     /.*#B[0-9]{1,4} .* 
 

LC-electronic   ELCE-x   L002 bis L137                 nicht L???  sondern   /.*L[0-9]{3} .*

Sales Kit  (EBV)    SK-005 bis SK-196            nicht SK-??? sondern  /.*SK-[0-9]{3} .*
 
SM-elektronik  bzw.  SM-electronic
~897_b_SM-S-x-L-12V_#10022  Elektronische Diebstahlsicherung mit Mikrofon_1a.pdf
~897_b_SM-S-x-L-12V_#20007  Lichtschranke mit Relais, LDR03_1a.pdf
SM-elektronik                   nicht SM-S-?-L sondern  /.*SM-S-[0-9]{3}-L .*
SM-elektronik                   nicht 100-?? sondern  /.*100-[0-9]{2} .*
 

TOP-electronic   TOP-elektronik
~897_b_TOP-S-x-L-4,5V_#1568xb  Multivibrator, AMV, Wechselblinker mit NAND-Gatter_1a.pdf
~897_b_TOP-S-x-L-12V_#1560xb  4-stellige Digital-Uhr-Modul (hh ss)_1a.pdf
~897_b_TOP-x-B-L-230V_#1552NT  Labor-Netzgerät  (Bauteile Pin-Belegung)_1a.pdf
TOP-electronic    #15xxxx  nicht #15???? sondern   /.*#15[0-9]{4} .*
TOP-electronic                 nicht TOP-12345 sondern  /.TOP-[0-9]{5} .*
TOP elektronik    #1234xb   nicht #????xb sondern  /.*#[0-9]{4}xb .*
 

Vielstedter
~896_b_Bs-S-x-L-6V_VPS#022  Prüf-Summer, Wasserstands-Melder_1a.pdf
~896_b_Bs-S-x-L-9V_VUS#132  Subminiatur-UKW-Prüfsender_1a.pdf
Vielstedter                nicht V??#??? sondern   /.*[A-Z]{3}#\d{3} .*
Vielstedter   VAC#547        
Vielstedter   VAL#137      
Vielstedter   VAS#049
Vielstedter   VAV#004
Vielstedter   VAZ#072
Vielstedter   VBL#012
Vielstedter   VBS#014
Vielstedter   VBW#143
Vielstedter   usw. usw. usw.


227_b_1Ta-1Pot-1IC-1Rel-4,5V_FC0111  NE555  selbststartender Timer_1a.doc
ds-electronics    FC0111  nicht FC???? sondern        /.*FC[0-9]{4} .*    oder   /.*FC\d\d\d\d .*
ds-electronik.de    FC0195  nicht FC0??? sondern    /.*FC0[0-9]{2,3} .*


wilbikit
~897_b_wilbikit-6V_Kit-79  Wechselsprechanlage ohne Umschalten, 3Watt_1a.pdf
~897_b_wilbikit-12V_Kit-47  Mikrosender FM 1W, UKW-Prüfsender 88 .. 108 MHz, Wanze_1a.pdf
wilbikit   KIT-68                nicht kit-?? sondern         /.*KIT-[0-9]{2,3} .*

 
??? THOMSON   TBS-09      nicht TBS-?? sondern  /.*TBS-[0-9]{2} .*
??? THOMSON-x Elektronik Bausätze (1981) TBS-09 bis TBS-55   /.*TBS-[0-9]{2} .*
??? vgs-Bausätze DBS-1  nur (Techn.Daten)    /.*DBS-[0-9]{1,2} .*
??? vgs-Bausätze DPS15 nur (Techn.Daten)    /.*DBS[0-9]{1,2} .*


~302_b_RIM-x_RIM65-017  NF- Mischverstärker_1a.jpg
RIM-x    RIM65-018     nicht nach RIM??-???  sondern   /.*RIM[0-9]{2}-[0-9]{3} .*
 

multiSIM    A10-41°           nicht A??-??° sondern  /.*A[0-9]{2}-[0-9]{2}° .*
MultiSIM   #05.03°            nicht #??.??° sondern  /.*#[0-9]{2}.[0-9]{2}° .*
multiSIM    Leist#5.02.12    nicht Leist#?.??.?? sondern  /.*Leist[0-9]{1}.[0-9]{2}.[0-9]{2} .*


Minispione-x    ms-A-046    nicht ms-?-??? sondern  /.*ms-.-[0-9]{3} .*
bis 
Minispione-x    ms-F-085    nicht ms-?-??? sondern  /.*ms-.-[0-9]{3} .*

EWB  = *.msm
~508_d_ewb-0V_1-12.NS17°  Bezeichnung siehe Simulations-File mit gleicher Nr._1a.pdf
978_d_EWB-x_02.03.01  Vorwiderstand bei LEDs  A2-32_1a.CA4
978_d_ewb-0V_D3-08°  JK Auffang-Flip-Flop_1a.msm
~978_d_1C-1R-0V_A3-26°  Phasenverschiebung zwischen Strom und Spannung_1a.msm
978_d_1T-1C-3R-0V_B4-21°  NF-Leistungsverstärker mit dualer Betriebsspannung_1a.msm
978_d_1IC-0V_C3-02°  astabiler Multivibrator, AMV, LM741A_1a.msm
978_d_3D-1IC-0V_M1-21°  Komparator zur Ansteuerung von TTL-ICs LM741 1N4732_1a.msm


minispion
~786_d_minispione-x_ms-A-031  Automatische FM-Tonbandaufzeichnung_1a.pdf
786_d_minispione-x_ms-C-046  Telefonstatus-Monitor (OC 4011 4009)_1a.pdf
786_d_minispione-x_ms-F-044  UKW Minipeilsender 108-150MHz  NE555 BFR92 BFR93_1a.pdf

64'er
037_b_5,25''-x_64'er Sonderheft SH11 86-11  A) _1a.d64
037_b_5,25''-x_64'er Sonderheft SH59  B) _1a.d64
935_a_C-64-x_64'er Sonderheft SH36 - 128er Alles über Grafik_1a.pdf

AKADEMIE-Bericht
935_a_FIS1985-x_A-B5.5.1  Motordrehrichtungssteuerung  (Leiterplatte TIP110 2Rel und 1 Motor)_1a.pdf

AMATEUR Bd.4
~870_a_text-x_amateur-Bd.4-05  AMATEUR-ELEKTRONIK Band 4 für Haus Auto und Labor L.Hildebrand_1a.pdf

ANTENNEN
309_d_antenne-x_WLAN-Antennen 2,4GHz Wellenfänger so funktionieren Antennen c't 2003 Heft9_1a.pdf

bauMax Ratgeber
~309_a_selbst-x_bauMax  Gartenteich (916-917)_1a.pdf

HORNBACH Arbeitsanleitungen
~309_a_selbst-x_HORNBACH  10.6 Paneele verlegen_1a.pdf

METABO
982_a_METABO-x_BHSTL Stichsägevorsatz_1a.pdf

BFI Elektronik-KURS
210_c_BFI-x_Basiswissen, E1-07  Transistor-Endstufen-Verstärker,  Arbeitspunkt, A-Betrieb_1a.pdf

BB BlackBoard
923_a_BlackBoard-x_BB-02  Photoverstärker – Laser-Empfänger für Videosignale LT6230-10_1a.doc

lectron
~490_a_BRAUN-x_lectron00  Baustein-Katalog (27x27mm Magnetwürfel) Stückliste_1a.pdf

Computer Durchblick
750_b_COMDUR-x_3#06  MSR-Grundlagen 4, Messen Steuern Regeln m.d. PC +++ (Steuern Computer)_1a.pdf

DMS
137_d_DMS-x_Applikation von DMS im MesswertAufnehmerbau_1a.pdf
922_d_STAIGER-x_+++ DMS  DV3102  6-pol. DIN Kalibrieradapter, 87,15 kOhm TL2_1a.pdf
922_d_VISHAY-x_DMS Messtechnologie, Formeln, Tabellen, Brückenschaltung, Dehnungsberechnungen_1a.pdf

HBM
975_d_HBM-x_SEMINAR-Manuskript - Das Kalibrieren einer Meßeinrichtung mit DMS - K. Hoffmann_1a.pdf

Elektro Praktiker BUCH
308_b_Elek-Prak-x_E-P-A-07.0 Die Elektroinstallation im Griff haben_1a.pdf

Elektronik-Lehrmittel
499_a_Didactic-x_Stecksystem Elektronik, E0.1 LDR05 NTC 2,2k AA118 1N4007 ZPD6,2 BD137 BC550_1a.pdf

Festnetz
~054_a_telefon-x_4.14.0  Telefonhörer abgenommen, Telefonschaltungen (BC517 BC548C)_1a.pdf

GRAF
954_d_GRAF-x_Multi-I-O PC-Interface, Der PC zwischen Analog und Digital, mc1990-06-68_1a.pdf

hobby-Bausätze
~299_b_hobby-x_Punktraster O-16  RC-Generator +++ (Wien-Brücke) - BSY75 BSY53 La=6V-0,3W_1a.pdf

OPITEC
948_a_OPITEC-x_110.040bd  Wechselblinker § Holzbrettchen BC548 La3,8V_1a.pdf

WINKLER
948_a_WINKLER-x_101.442  Alarmanlage mit Selbsthaltung § Print BC337 LEDrt_1a.pdf

H-TRONIC
~797_a_H-TRONIC-x_Bausätze Inhaltsverzeichnis HBxxx +++ 210 Schaltungen_1a.xls

O+P  Elektronik für Fluid-Techniker
~966_d_o+p-x_KURS   Fluidtechniker 24 (8.6.00  Elektronik-Schaltung für Proportionalmagnete)_1a.pdf

EfM  Elektronik für Maschinenbauer
~965_b_EfM-x_KURS - Maschinenbauer 09 (Kondensator, Lade- und Entladekurven)_1a.pdf

Konstruktons-Zeichenschablonen
300_b_standardgraph-x_3368  Schablone Schaltzeichen, Nachrichtentechnik DIN40900 IEC617_1a.pdf
961_a_Aristo-x_5031  Schablone Kurvenlineal_1a.pdf
961_a_rotring-x_850700  Schraubverbindungen  DIN27 Zeichen-Schablone M4 M5 M6 M8 M10 (Prospekt)_1a.pdf

Laborkarten
~100_a_Laborkarten-x_Europaformat VERO E500  FR2  Streifenleiterplatine 5,08mm oben längs unten quer_1a.pdf

LUGATO
~307_a_LUGATO-x_es-158  Bilder-Anleitung (Keller mit schwarzer BLOCKER abdichten)_1a.pdf

LYTRON
281_c_LYTRON-x_ ECS2011 Akku Superlader Kriechhammer_1b.doc

Multisim
505_b_NI-x_Multisim Übung#04.2° - Thevenin and Norton Equivalent Circuits_1a.ms12
505_c_NI-x_multiSIM Ge#2.12° - 1N4004 als Schalter_1a.ms10
505_c_NI-x_multisim Master#02.08° - VoltsIn - DAQmx_1a.vi
505_d_1D-1R-0V_A07-08°  Gleichrichter Grundschaltung 1-Lö_1a.ms10
505_d_1U-2Ta-0V_A10-56°  Binär-Zähler mit 74LS93D_1a.ms10
508_c_multiSIM-x_0008  Kurzanleitung -16. Das Schaltungsverhalten analysieren_1a.pdf

itm-praktiker
993_a_PR-x_Einführung in die Computertechnik 08.Folge (BASIC)_1a.pdf
994_a_PR-x_Digitaltechnik leichtgemacht 07a (NAND-Funktion)_1a.pdf

Schaltbeispiele
000_b_text-x_5.07.  Diebstahl-Warnanlage für PKW_1a.pdf

SN76477 Sound-Generator (TOPP-Buch)
196_c_Sound-x_SN76477-3.02  Dampfmaschinen-, Lokomotiven-Geräusch SN76477 (TOPP) S-54_1a.xls.pdf

VIS-System M.KÜHN FGM C-64 3HE-Einsteckkarten
597_a_KUEHN-x_FGM-2-01-  VIS-System DIR der C-64 VIS-Programme auf 5,25 Diskette)_1a.pdf

CONRAD
954_d_VOLTCRAFT-x_V96 AUTO DMM   Dig. Multimeter Voltcraft 96 (133035-62) Benutzerhandbuch-5_1a.pdf



SIEMENS Schaltbeispiele
danach kann nicht gesucht werden !


Optoelektronik in der Praxis
danach kann nicht gesucht werden !


WERSI Orgel COSMOS  +++
968_b_WERSI-x_00-BA07-06  Aufbau COSMOS 07 (Kabelbaum einbauen)_1a.pdf
968_b_WERSI-x_16-BA580-xx  NOISE GATE NG1  (Bauanleitung Noise Gate NG1) Schaltbild_1a.pdf
~968_b_WERSI-x_04-BA1000-xx  Arbeits-Grundlagen 3  (Einbau von Halbleiter auf Platinen)_1a.pdf


Bauteilsuche   LM555 NE555 TLC555 LMC555  nicht ??555  sondern   /.* [A-Z]{2,3}[^0-9]555 .*
Bauteilsuche   uA741 LM741 UA741 AD741  XL741 IC741 nicht ??741  sondern   /.* [A-Z]{2}[^0-9]741 .*






********************************************************I*
                        Reguläre Ausdrücke

Reiht man ein paar Zeichen aneinander, so stehen diese zunächst jeweils für sich selbst.
abc findet also alles, was erst ein a dann ein b und schließlich ein c enthält - in genau dieser Reihenfolge und ohne sonstige Zeichen dazwischen.
Zugegeben, das bekommt wohl auch jeder bessere Texteditor auf die Reihe.
Will man an einer Stelle mehrere alternative Zeichen finden, kann man das mit Hilfe von eckigen Klammern realisieren.
[aeiou] findet also Vokale und H[au]nd sowohl die Hand als auch den besten Freund des Menschen (und Wörter, die diese Wörter enthalten).
Wenn Zeichen eine vorgegebene Reihenfolge haben (wie z.B. Buchstaben durch das Alphabet), so kann man auch Zeichenbereiche benennen.
[3-9] findet alle Ziffern im Bereich von 3 bis 9 , [A-Z] alle Großbuchstaben.
Interessant ist auch die Möglichkeit, Zeichen auszuschließen.
Man stellt dazu ein ^ hinter die öffnende eckige Klammer.
A[^r]t findet also die Art (und derartige Zusammensetzungen) nicht, sehr wohl aber das Amt oder die Abtei.
Genauso funktioniert das natürlich auch bei Zeichenbereichen (z.B. [^0-9] um Ziffern auszuschließen).
Eine Suche nach einer beliebigen Zeichenkette (in Mustern per * ) lässt sich in regulären Ausdrücken per .* realisieren.
Dies ist ein zusammengesetzter Ausdruck.
. Der Punkt steht nämlich für ein einzelnes beliebiges Zeichen.
* Der Stern dient als Wiederholungsoperator, d.h. durch ihn gilt das vorangehende Zeichen (hier der Punkt) nicht bloß einmal, sondern beliebig oft (oder nie).
* Der Stern ist aber nur eine Spezialform der Wiederholung.
{   }Die allgemeine Form wird mit geschweiften Klammern geschrieben.
Sie schließen zwei durch ein Komma getrennte Zahlen ein, die angeben, wie oft das jeweilige Zeichen wiederholt werden darf.
a{2,5} meint beispielsweise 2 bis 5 a 's hintereinander.
Man kann die zweite Zahl auch weglassen. a{2,} bedeutet dann zwei oder mehr aufeinander folgende a 's.
Lässt man schließlich noch das Komma weg, handelt es sich um eine genaue Angabe der Wiederholungen.
a{2} bedeutet also exakt zwei a 's hintereinander.
Der Stern ist folglich eine Abkürzung für {0,} , analog steht das Fragezeichen ? für {0,1} und das Plus + für {1,} .
Noch einmal deutlich: ? heißt, das Zeichen darf ein Mal stehen muss aber nicht (also höchstens ein Mal). + heißt, das Zeichen muss mindestens ein Mal stehen.
All diese Sprachelemente kann man auch miteinander kombinieren.
[0-9]{5} hilft beispielsweise beim Auffinden von Postleitzahlen.
(Wobei natürlich erstmal auch längere Zahlen gefunden werden; wir lernen auch noch, das zu verhindern)
Beim Kombinieren muss man ab und an eine Reihenfolge festlegen.
Dabei helfen uns runde Klammern.

Ein Beispiel:
bla+se findet 'blase', 'blaase', 'blaaase' usw.
Möchte man hingegen 'blase', 'blablase', 'blablablase' etc. finden, schreibt man (bla)+se.
Die Klammern sorgen dafür, dass sich die Wiederholung nicht bloß auf das Zeichen vor dem Plus bezieht (hier das a ) sondern auf die ganze Silbe.
Das funktioniert natürlich mit allen Operatoren.
Alternativen trennt man durch einen senkrechten Strich voneinander ( AltGr + < ).
(Schloss|B[ue]rg) erkennt also sowohl das Schloss als auch die Burg und den Berg.
Im Gegensatz zur eckigen Klammer kann man so nicht bloß alternative Zeichen angeben, sondern auch Auswahlmöglichkeiten zwischen kompletten regulären Ausdrücken.
(Übrigens: die runden Klammern sind in diesem Beispiel zunächst nicht wichtig, sie sind jedoch später von Bedeutung um die Alternative zu begrenzen, wenn sie selbst nur ein Teilausdruck ist, wie im Superman-Beispiel am Ende des Artikels.)
Für kommende Experten sind auch die so genannten Backreferences (also Rückbezüge) unverzichtbar.

Ein Beispiel:
([a-z])\1\1 findet drei gleiche aufeinander folgende Kleinbuchstaben, wie in Schifffahrt oder Seeelefant.
Die Eins steht dabei für das im ersten runden Klammerpaar gefundene Zeichen.
Im Gegensatz zu den Wiederholungsoperatoren benennt der Rückbezug also das, was konkret gefunden wurde.
Backreferences beziehen sich immer auf Ausdrücke in runden Klammern.
Man kann bis zu neun von ihnen in einem Ausdruck verwenden.
Sie sind von \1 bis \9 nummeriert; gezählt wird von links nach rechts.
Bei Verschachtelungen sind die öffnenden Klammern ausschlaggebend.
Für den Fall, dass man den Suchbegriff am Anfang oder Ende der Zeile verankern möchte, stehen in regulären Ausdrücken die Zeichen ^ und $ zur Verfügung.
Der Suchbegriff "toll" findet sowohl die Zeilen 'toll' als auch 'tolles Beispiel' sowie 'richtig tolles Beispiel' und 'alle(s) toll'.
^toll kann sich hingegen nur mit den ersten beiden Möglichkeiten anfreunden, toll$ nur mit der ersten und der letzten und ^toll$ nur mit der ersten.
Was für Zeilen funktioniert, geht natürlich auch auf Wortebene. "car" könnte beispielsweise 'car', 'cartoon', 'oscar' und 'scary' finden.
\<car gibt sich jedoch nur mit 'car' und 'cartoon' zufrieden.
car\> mag nur 'car' und 'oscar'.
\<car\>" verlangt schließlich ausdrücklich 'car'.
Zu erwähnen wäre noch \b, dass sowohl auf Wortanfang als auch -ende passt und \B , dass überall da passt, wo \b das nicht tut.


Quelle:
https://www.selflinux.org/selflinux/pdf/regex.pdf




********************************************************I*
Metazeichen http://regexlib.com/CheatSheet.aspx
Metazeichen definiert                                                                               Metazeichen-Beispiele        
^      Anfang einer Zeichenfolge.                                                                     ^abc                     abc, abcdefg, abc123, ...
$      Ende einer Zeichenfolge.                                                                       abc$                    abc, endsinabc, 123abc, ...
.      Ein beliebiges Zeichen (außer \n Newline)                                               a.c                      abc, aac, acc, adc, aec, ...
|     Wechsel.                                                                                              bill|ted,                bill rechnung
{...} Explizite Quantennotation.                                                                 ab {2} c                abc
[...] Explizite Zeichenmenge, die übereinstimmen soll.                                a [bB] c               abc, aBc
(...) Logische Gruppierung eines Teils eines Ausdrucks.                              (abc) {2}              abcabc
* 0  oder mehr des vorherigen Ausdrucks.                                                    ab * c                 ac, abc, abbc, abbbc, ...
+ 1  oder mehr des vorherigen Ausdrucks.                                                   ab + c                 abc, abbc, abbbc, ...
? 0  oder 1 des vorherigen Ausdrucks;
erzwingt auch einen minimalen Abgleich, wenn ein Ausdruck mit mehreren Zeichenfolgen
innerhalb einer Suchzeichenfolge übereinstimmt.                                        ab? c                   ac, abc
\   Vor einem der obigen Punkte ist es ein Literal anstelle eines Sonderzeichens. 
     Vor einem speziellen passenden Zeichen, siehe unten.                                a \ sc                   a c



Zeichenflucht http://tinyurl.com/5wm3wl
gewöhnliche Zeichen    Andere Zeichen als. $ ^ {[(|)]} * +? \ stimmen sich überein.
\a                              Stimmt mit einer Klingel (Alarm) überein \ u0007.
\b                              Stimmt mit einer Rücktaste \ u0008 überein, wenn in einem [  ];
                                 entspricht sonst einer Wortgrenze (zwischen den Zeichen \ w und \ W).
\t                              Stimmt mit einem Tab \ u0009 überein.
\r                              Stimmt mit einem Wagenrücklauf \ u000D überein.
\v                             Stimmt mit einem vertikalen Tab \ u000B überein.
\f                              Stimmt mit einem Formular-Feed \ u000C überein.
\n                             Entspricht einer neuen Zeile \ u000A.
\e                             Stimmt mit einem Escape \ u001B überein.
\040                          Entspricht einem ASCII-Zeichen als Oktal (bis zu drei Ziffern);
                                 Zahlen ohne führende Null sind Rückreferenzen, wenn sie nur eine Ziffer haben oder einer erfassenden Gruppennummer entsprechen.
                                 (Weitere Informationen finden Sie unter Rückreferenzen.)
                                Das Zeichen \ 040 steht beispielsweise für ein Leerzeichen.
\x20                          Entspricht einem ASCII-Zeichen in Hexadezimaldarstellung (genau zwei Ziffern).
\cC                           Stimmt mit einem ASCII-Steuerzeichen überein. Zum Beispiel ist \ cC Control-C.
\u0020                      Stimmt mit einem Hexadezimalzeichen (genau vier Stellen) mit einem Unicode-Zeichen überein.
\*                              Wenn ein Zeichen folgt, das nicht als Escape-Zeichen erkannt wird, stimmt dieses Zeichen überein. Zum Beispiel ist \ * dasselbe wie \ x2A.

Charakterklassen http://tinyurl.com/5ck4ll
                    Stimmt mit jedem Zeichen außer \ n überein.
                   Wenn Sie mit der Option "Einlinig" geändert werden, entspricht ein Punktzeichen einem beliebigen Zeichen.
                    Weitere Informationen finden Sie unter Optionen für reguläre Ausdrücke.
[aeiou]          Stimmt mit jedem einzelnen Zeichen überein, das in der angegebenen Gruppe von Zeichen enthalten ist.
[^ aeiou]        Stimmt mit jedem einzelnen Zeichen überein, das nicht im angegebenen Zeichensatz enthalten ist.
[0-9a-fA-F]     Die Verwendung eines Bindestrichs (-) ermöglicht die Angabe von zusammenhängenden Zeichenbereichen.
\ p {Name}     Entspricht einem beliebigen Zeichen in der von {Name} angegebenen Zeichenklasse.
                    Unterstützte Namen sind Unicode-Gruppen und Blockbereiche. Zum Beispiel Ll, Nd, Z, IsGreek, IsBoxDrawing.
\ P {Name}     Stimmt mit Text überein, der nicht in Gruppen und Blockbereichen enthalten ist, die in {Name} angegeben sind.
\ w                Entspricht einem beliebigen Wortzeichen.
                    Entspricht den Unicode-Zeichenkategorien [\ p {Ll} \ p {Lu} \ p {Lt} \ p {Lo} \ p {Nd} \ p {Pc}].
                   Wenn ECMAScript-konformes Verhalten mit der ECMAScript-Option angegeben wird, ist \ w äquivalent zu [a-zA-Z_0-9].
\ W              Entspricht einem beliebigen Nichtwortzeichen.
                   Entspricht den Unicode-Kategorien [^ \ p {Ll} \ p {Lu} \ p {Lt} \ p {Lo} \ p {Nd} \ p {Pc}].
                   Wenn ECMAScript-konformes Verhalten mit der ECMAScript-Option angegeben wird, entspricht \ W [^ a-zA-Z_0-9].
\ s                Entspricht einem beliebigen Leerzeichen.
                   Entspricht den Unicode-Zeichenkategorien [\ f \ n \ r \ t \ v \ x85 \ p {Z}].
                   Wenn ECMAScript-konformes Verhalten mit der ECMAScript-Option angegeben wird, ist \ s äquivalent zu [\ f \ n \ r \ t \ v].
\ S               Entspricht einem beliebigen Zeichen ohne Leerzeichen.
                   Entspricht den Unicode-Zeichenkategorien [^ \ f \ n \ r \ t \ v \ x85 \ p {Z}].
                    Wenn mit der ECMAScript-Option ein ECMAScript-konformes Verhalten angegeben wird, entspricht \ S [^ \ f \ n \ r \ t \ v].
\ d                Entspricht einer beliebigen Dezimalstelle. Entspricht \ p {Nd} für Unicode und [0-9] für Nicht-Unicode, ECMAScript-Verhalten.
\ D                Stimmt mit jedem Nicht-Datum überein. Entspricht \ P {Nd} für Unicode und [^ 0-9] für Nicht-Unicode-Verhalten von ECMAScript




DIN A4  ausdrucken
********************************************************I*
Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:[email protected]
ENDE


RECHTEVERLETZUNG
All meine Seiten werden von PlagAware überwacht.Ich fordern Sie hiermit auf, immer eine Quellen Angabe zu machen oder den Inhalt zu entfernen.Es liegt mir fern Sie kostenpflichtig abmahnen zu lassen, jedoch legen ich großen Wert auf eine Quellenangabe.
Kostenlose Prg. sind www.plagiarisma.net/de/ www.plagiatefinder.de www.plagscan.com

Registrierung ist ganz einfach.
( Spenden )  Button drücken  min. € 10,- max. € 30,- spenden.
Dann erhalten Sie Ihren Usernahmen und Paßwort von mir per E-Mail.
Mit den Daten können Sie sich unter LOG IN einloggen.
Die Schaltungs-Sammlung ist RIESIG ohne genaues lesen wird es nicht gehen.
Auch kpl. Bücher können billigst downgeloadet werden, auch da hilft lesen.

 

https://de.wikipedia.org/wiki/Netiquette
 
 
Erweiterte suche
ACHTUNG Bindestriche werden oft als Leerzeichen=Trennzeichen als Minus als bis interpretiert.
Video-Umschalter sucht nach Video & nach Umschalter daher Led-Umschalter, Video Mischer usw.
Jokerzeiche vor Minus bringen kein Suchergebnis.
* bzw ? steht für Zahlen aber auch Buchstaben
Es gibt aber andere Lösungen um nur nach Zahlen zu suchen !
 
Details siehe
http://sites.schaltungen.at/elektronik/google-suche/schaltungen-suche

ARDUINO UNO R3    2014-09s062                          nicht ?????-??s??? sondern
elektor ab 1988   123456-11     nicht ??????-11 sondern /.*[0-9]{5,6}-11.*

Im neuen System kann man haargenau nach dem Muster "6 Ziffern Bindestrich 62" suchen:

i-trix                                     nicht ??KW??-11
10.000 Schaltungen     Bd05-Tl0-$0128 #12  nicht nach Bd05-Tl0-$???? sondern
10.000 Schaltungen     05.88.15-en             nicht nach 05.??.??-en sondern
CONRAD   123456-62                nicht ??????-62 sondern /.*[0-9]{6}-62.*
H-Tronic    HB448     HB???
ELV       68-468-90                nicht 68-???-?? sondern
AATiS     AS123                    nicht nach  AS??? sondern
itm-praktiker    pr82-01-08    nicht nach pr82-??-?? sondern
E-A-M                               nicht 1988-?-??
elex                                  nicht 8????X
elrad   spe-5.093                nicht nach spe-?.???
Kemo        #B191                nicht nach #B??? sondern
Velleman    MK111                nicht nach MK??? sondern
Oppermann   B.086              nicht nach B.??? sondern
PHILIPS   EE2003                  nicht EE???? sondern
Smart Kit   B.1004                nicht nach B.???? sondern
electronicum                       nicht TYPE-??? sondern
Cart Elektronik   Kar.04          nicht Kar.?? sondern
Elektronik mit Herz   K-S-066  nicht K-S-??? sondern
Elektr. Kurse PrennIng.  VHS3.3.31 nicht VHS?.?.?? sondern
AMTRON                           nicht UK-???
JOSTYkit  #JK008-x           nicht #JK???-x sondern
LC-electronik                    nicht L???/? sondern
Sales Kit    SK-001            nicht SK-??? sondern
SM-elektronik                   nicht SM-S-?-L sondern
TOP elektronik    #1234xb   nicht #????xb sondern
Vielstedter   VTT#155       nicht VTT#??? sondern
wilbikit   KIT-68                nicht kit-?? sondern
ds-electronik.de    FC0195  nicht FC0??? sondern  FC0*
??? THOMSON   TBS-09      nicht TBS-?? sondern
??? vgs-Bausätze DBS-1 bis DPS15 nur (Techn.Daten)
RIM    suche nach RIM
multiSIM    A10-41°           nicht A??-??° sondern
Minispione-x    ms-A-046    nicht ms-?-???
Bauteilsuche   ??555 findet LM555 NE555 TLC555 LMC555
 
ENDE




RegEx

Reguläre Ausdrücke beschreiben Strings analytisch nach Mustern.
Ohne einen String genau zu kennen, kann ich doch Regeln aufstellen, denen er zu genügen hat.
Mit einer RegEx als Filterkriterium 'pattern' kann ein gegebener String verglichen, auf einen 'match' geprüft und ausgewertet werden.
Benutzt werden Perl-kompatible RegEx zum Beispiel in PHP und JavaScripts.


Ein bekanntes Beispiel ist die Prüfung einer E-Mail Adresse, deren Gesetzmässigkeit etwa so beschrieben werden kann:
Es hat nur ein @-Zeichen, das nicht am Anfang steht, und von mehreren Zeichen gefolgt wird, bis ein Punkt kommt gefolgt von mindestens zwei Zeichen.

Aufbau einer RegEx


RegEx
Eine RegEx ist selbst ein String und steht in einfachen Anführungszeichen (Hochkomma).
Er hat ein Startzeichen und ein gleiches Endzeichen (Delimiter), meisst der / (slash).
Falls der Slash als Delimiter benutzt wird, müssen andere Slashes im RegEx-String (etwa bei einer URL) durch einen Backslash \/ escaped werden,
oder man benutzt das Prozentzeichen % als Delimiter, weil es kein Metazeichen ist.
Dazwischen befinden sich eine Folge einzelner Zeichen (literal, sich selber meinend) und Ausdrücken, gruppiert durch () (Klammern).
Diese Gruppen werden zwischengespeichert und können wiederverwendet werden.
Vor und nach Zeichen oder Gruppen werden Anweisungen gesetzt durch Metazeichen, Zeichen mit spezieller Bedeutung.
Nach dem Endzeichen, kommt ein Modus-Modifikator, welcher gesammt Kriterien anwendet wie z.B. 'beachte die Gross-/Kleinschreibung nicht'.

Metazeichen

Die Anweisungen werden durch Operatoren für Wiederholung, Verkettung und Alternative gesetzt.
So stellt ein Metazeichen fest, ob ein Zeichen 'n' am Anfang oder am Schluss eines Strings steht, wieviele Zeichen davor stehen, von wievielen Zeichen es gefolgt wird, von was für welchen, ob es Versal oder klein ist, ob es eine Zahl, ein Whitespace oder irgend etwas ist, wie oft es vor kommt, etc.

Für diese 'Gesetze' oder Aussagen gibt es Metazeichen, also Symbole oder Kürzel.
Die Metazeichen bedeuten nicht mehr sich selbst, ausser sie werden escaped durch einen Backslash.
^ Markiert Anfang eines Strings, bezieht sich auf folgendes Zeichen oder Gruppe (ausser in [ ], siehe Zeichenklasse)
$    Markiert Ende eines Strings, bezieht sich auf vorangehendes Zeichen oder Gruppe
.    steht für ein (1) beliebiges Zeichen (wildecard)
..   steht für zwei (2) beliebige Zeichen
...  steht für drei (3) beliebige Zeichen (etc.)
#   Betrachet den Rest der Zeile als Kommentar, bezieht sich auf alle nachfolgenden Zeichen

Quantoren für Anzahl

n? Einmal oder keinmal vorhandenes 'n' (optional) 
n* Keinmal oder mehrmals Vorkommen von 'n' (nicht einmal)
n*? Keinmal oder mehrmals, aber so wenig wie möglich vorkommendes 'n'
n+ Einmal oder mehrere Vorkommen von 'n' (mindestens)
{x} Genau x-mal, bezieht sich auf davor stehendes Zeichen
n{2} Genau zweifaches Vorkommen von 'n'
{x,} Mindestens x-mal n{2,} Mindestens 2 oder mehrere Vorkommen von 'n'
{x,y} Mindestens x-mal, aber nicht öfter als y-mal
n{2,4} Mindestens 2, höchstens 4 Vorkommen von 'n'
{x,}? Mindestens x-mal, aber so wenig wie möglich
{x,y}? Mindestens x-mal, nicht mehr als y-mal und so wenig wie möglich

( ) Gruppen, Ausdrücke, Substring, Submuster

(nat)    n und a und t |       Operator zur Alternative (oder)(n|a)                  Entweder 'n' oder 'a'(x|y|z)               Entweder 'x' oder 'y' oder 'z'(Marcel|Biefer)   Entweder 'Marcel' oder 'Biefer'(?#)                  Betrache diesen Substrings als Kommentar(?P<Name>)     Submuster gruppieren und Subtreffer in benannter Capture-Gruppe 'Name' festhalten.(Ohne Benennung wird die Gruppe in einem nummerierten Array abgelegt.)

[ ] Zeichenklasse, Auswahl-Liste oder von - bis

[abc]          a,b oder c[c-h]          ein Kleinbuchstabe zwischen c und h (c,d,e,f,g,h)[D-H]         ein Großbuchstabe zwischen D und H (D,E,F,G,H)[_a-zA-Z]   ein Unterstrich und ein beliebiger Buchstabe des Alphabets[1-6]          eine Zahl zwischen 1 und 6[0-9]          irgendeine Zahl[:space:]   Leerzeichen[^]     Operator zum Ausschluss, Verneinung[^n]    Irgendein Zeichen, das sich nicht in dieser Liste befindet, also alles als ein 'n'[^0-9]  keine Zahl[^a-z]  kein Kleinbuchstaben

PCRE Zeichenklassen (Perl Compatible Reg Ex)


\      Escape-Zeichen 
für alle Zeichen mit Sonderbedeutung die oben zu sehen sind und unten noch folgen
\b Wortgrenze \B Nicht-Wortgrenze
\w Wortzeichen, [a-zA-Z0-9_] \W Nicht-Wortzeichen, [^a-zA-Z0-9_]
\d Ziffer, [0-9] \D Nicht Ziffer, [^0-9]
\s Whitespace-Zeichen, [\n\r\f\t ]
\S nicht Whitespace-Zeichen, [^\n\r\f\t ]

Modus-Modifikationen
i Groß-/Kleinschreibung ignorierendes Matching
U umschalten auf nicht greedy (nicht gierig)
m ^ und $ greifen auch neben eingebettetem \n
s Punkt (.) erkennt Newline
x ignoriert Whitespace und erlaubt Kommentare (#) in Mustern.



Beispiele

Mindestens ein Buchstabe, eine Zahl oder ein Unterstrich
^[a-zA-Z0-9_]{1,}$

Irgend ein Zeichen, aber kein Buchstabe und keine Zahl
[^A-Za-z0-9]

Passwort mit mindestens 8 Zeichen,
mindestend ein kleingeschriebenes und ein grossgeschriebenes Zeichen und eine Ziffer
^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$

E-Mail Adresse wie [email protected]
^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$

E-Mail Adresse unterteilt
$name = '[a-zA-Z0-9]((\.|\-)?[a-zA-Z0-9])*';
$domain = '[a-zA-Z]((\.|\-)?[a-zA-Z0-9])*';
$tld = '[a-zA-Z]{2,8}';
$email = '^('.$name.')@('.$domain.')\.('.$tld.')$';

Gültige Zeichen definieren für codefreien Text
$text = '[a-zA-Z0-9ÄÖÜäöüß|.|:|!|?|+|-|*|/|_| ]+';
$regEx = '^'.$text.'$';

Ungültig sind somit alle oben nicht erwähnten wie: ()[]<>\|#'"&%=@;

http://www.lehrling.biefer.com/andere/regexp.php




DIN A4  ausdrucken
********************************************************I*
Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:[email protected]
ENDE