preg_match_all: auffinden eines strings

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • preg_match_all: auffinden eines strings

    Hi,

    ich brauch' einen kleinen Hinweis für folgendes Problem:

    Ich habe eine text-datei und suche nun nach dem vorkommen eines bestimmten strings mit preg_match_all.

    Das, was ich finden möchte, sieht z.B. so aus: TID-668 und auch so: TID-668a.

    Haken an der Sache: diese einträge stehen ohne Trenn- oder Leerzeichen in dieser datei. Beispiel:

    blablablavlablaTID_668BlaBlaBlaTID-668aBlablablabla.


    mein ansatz zum herausfiltern dieser einträge sieht so aus:
    PHP-Code:
    preg_match_all("#TID.*([a-f]|[0-9])$#"$datei$ausgabe
    PREG_PATTERN_ORDER); 
    das erste vorkommen von TID kann ich ja noch finden.
    Nur: der eintrag endet mit einer Zahl von 0-9 oder einem letter von a-f. Dann soll der nächste eintrag gesucht werden.

    Ich liege bislang falsch, denn mein pattern findet TID und liefert den ganzen Rattenschwanz an lettern und zahlen, die in der textdatei stehen..

    Ein kleiner Tipp genügt

    Danke

  • #2
    hmm,

    das dollarzeichen ist fehl am platze. des .* auch. du kannst in eine zeichenklasse auch mehrere angaben vereinen.
    Code:
    TID[-_][0-9a-f]+
    funktioniert zumindest ....

    http://pcre.nophia.de/evaluate/f3646...dex.php#output
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Fantastisch! Es funktioniert tatsächlich!


      Habe einiges an Verständis über reguläre Ausdrücke dazu gewonnen!

      Many Thanks!

      Kommentar

      Lädt...
      X