Hallo,
Ich habe jetzt schon unzählige Regex Tutorials gesehen , wo Regex so schwer und komplitziert dargestellt & erklärt wird , so dass es keiner Lernen will / kann.
Ich selber habe Regex von einem Freund von mir der bei Microsoft programmiert , gelernt , und zwar in 4 Tagen vollständig!
Das kombinieren ist das schwerste daran , die Bedeutungen der Regex Zeichen sind leicht zu erlernen.
Ich will nicht lang rumreden das ihr nicht soviel Lesen müsst also los gehts.
Die meisten denken (.+?) ist Regex , ist es aber nicht.
Hier mal die Zeichen & ihre Bedeutungen:
a-z , findet alle Kleinbuchstaben von a-z
A-Z , findet alle Großbuchstaben von A-Z
0-9 findet alle Zahlen von 0-9 , hierbei kann man auch beispielsweise 1-4 machen dann findet er alle Zahlen von 1-4.
\d findet ebenfalls alle Zahlen von 0-9.
. findet Alle Zeichen (Alle Zahlen , Groß/Klein Buchstaben sowie Sonderzeichen)
Beispiel : 38abBz§3849% würde mit .+ oder .* komplett markiert werden.
* findet entweder kein, ein oder mehrere Zeichenfolgen vom voranstehenden Zeichen.
Beispiel : aaab , dabei würden die 3 a mit a* oder a+ markiert werden.
+ ungefähr dasselbe wie * , findet entweder kein , ein oder mehrere Zeichenfolgen vom voranstehenden Zeichen.
{min,max} findet das minimale bis maximale Vorkommen aufeinanderfolgende des voranstehenden des Zeichens.
Beispiel : aaab , dabei würden die 3 a mit a{3} markiert werden ( weil es 3x a gibt ).
Beispiel : a{3,4} bedeutet das 3 oder 4 a aufeinander folgen.
Beispiel: a{3,} bedeutet das 3 oder mehr a aufeinander folgen.
( ) ist für die Reihenfolge der Auswertung zu bestimmen.
*, ?, +, oder {min,max} auf eine Folge von Zeichen und nicht nur auf ein Zeichen anzuwenden.
(abc)+ z.B. findet ein oder mehrere aufeinanderfolgenden Vorkommen von "abc"; so findet es abcabc123, aber nicht ab123 oder bc123.
[ ] beschreibt Zeichenfolgen , dh. was im ZielText vorkommen darf oder auch nicht.
Beispiel : value=34455 dabei würde value=[\d] , die erste Zahl ( sprich 3 ) markieren.
Beispiel : value=34455 dabei würde value=[\d+] , value=alle Zahlen , markieren wegen dem +
Beispiel : value="34455" dabei würde value="([^"]+) , nur die Zahlen zwischen den "" markieren.
| bedeutet einfach nur Alternativ. baum|auto heißt also es wird baum oder auto markiert , oder beide.
Beispiel : baumauto , dabei würde auto|baum , alle beiden Wörter markieren.
Jetzt habt ihr Beispielsweise den Link hier, ihr wollt das wcf/icon/editS.png haben.
Regex :
img src="([^"]+)
Erläuterung :
img src=" schreibt ihr damit Regex weiss wo es suchen soll.
() weil ihr die Reihenfolge haben wollt.
[] ist die Zeichenkette
^" ihr wollt ja alles ausser hinten das "
+ damit alles was zwischen " " steht außer halt "
Bitte um Kritik , Verbesserungsvorschläge etc.
Mfg Kevin.
Ich habe jetzt schon unzählige Regex Tutorials gesehen , wo Regex so schwer und komplitziert dargestellt & erklärt wird , so dass es keiner Lernen will / kann.
Ich selber habe Regex von einem Freund von mir der bei Microsoft programmiert , gelernt , und zwar in 4 Tagen vollständig!
Das kombinieren ist das schwerste daran , die Bedeutungen der Regex Zeichen sind leicht zu erlernen.
Ich will nicht lang rumreden das ihr nicht soviel Lesen müsst also los gehts.
Die meisten denken (.+?) ist Regex , ist es aber nicht.
Hier mal die Zeichen & ihre Bedeutungen:
a-z , findet alle Kleinbuchstaben von a-z
A-Z , findet alle Großbuchstaben von A-Z
0-9 findet alle Zahlen von 0-9 , hierbei kann man auch beispielsweise 1-4 machen dann findet er alle Zahlen von 1-4.
\d findet ebenfalls alle Zahlen von 0-9.
. findet Alle Zeichen (Alle Zahlen , Groß/Klein Buchstaben sowie Sonderzeichen)
Beispiel : 38abBz§3849% würde mit .+ oder .* komplett markiert werden.
* findet entweder kein, ein oder mehrere Zeichenfolgen vom voranstehenden Zeichen.
Beispiel : aaab , dabei würden die 3 a mit a* oder a+ markiert werden.
+ ungefähr dasselbe wie * , findet entweder kein , ein oder mehrere Zeichenfolgen vom voranstehenden Zeichen.
{min,max} findet das minimale bis maximale Vorkommen aufeinanderfolgende des voranstehenden des Zeichens.
Beispiel : aaab , dabei würden die 3 a mit a{3} markiert werden ( weil es 3x a gibt ).
Beispiel : a{3,4} bedeutet das 3 oder 4 a aufeinander folgen.
Beispiel: a{3,} bedeutet das 3 oder mehr a aufeinander folgen.
( ) ist für die Reihenfolge der Auswertung zu bestimmen.
*, ?, +, oder {min,max} auf eine Folge von Zeichen und nicht nur auf ein Zeichen anzuwenden.
(abc)+ z.B. findet ein oder mehrere aufeinanderfolgenden Vorkommen von "abc"; so findet es abcabc123, aber nicht ab123 oder bc123.
[ ] beschreibt Zeichenfolgen , dh. was im ZielText vorkommen darf oder auch nicht.
Beispiel : value=34455 dabei würde value=[\d] , die erste Zahl ( sprich 3 ) markieren.
Beispiel : value=34455 dabei würde value=[\d+] , value=alle Zahlen , markieren wegen dem +
Beispiel : value="34455" dabei würde value="([^"]+) , nur die Zahlen zwischen den "" markieren.
| bedeutet einfach nur Alternativ. baum|auto heißt also es wird baum oder auto markiert , oder beide.
Beispiel : baumauto , dabei würde auto|baum , alle beiden Wörter markieren.
Jetzt habt ihr Beispielsweise den Link hier, ihr wollt das wcf/icon/editS.png haben.
Regex :
img src="([^"]+)
Erläuterung :
img src=" schreibt ihr damit Regex weiss wo es suchen soll.
() weil ihr die Reihenfolge haben wollt.
[] ist die Zeichenkette
^" ihr wollt ja alles ausser hinten das "
+ damit alles was zwischen " " steht außer halt "
Bitte um Kritik , Verbesserungsvorschläge etc.
Mfg Kevin.
Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „Gutelaunetyp“ ()