regulärer Ausdruck gesucht [Gelöst]

  • 0 x
    68 Beiträge
    0 Hilfreiche Beiträge
    05. 03. 2010, 15:24

    Hi, ich habe in einem String z. B. die Werte 1|15|25 stehen.

    Gibt es einen regulären Ausdruck, der mir gruppen anhand der pipes erstellt, also 1 15 und 25 extrahiert und dann innerhalb dieser Gruppen nach z. B. 1 sucht - ohne aber 15 zu finden.

    Da hakt es bei leider gerade etwas ...

    Danke & Gruß


  • 1
  • einpraegsam.net einpraegs...
    MacGyver
    0 x
    9340 Beiträge
    80 Hilfreiche Beiträge
    22. 03. 2010, 21:23

    1. $str = '1|15|25';
    2. $arr = t3lib_div::trimExplode('|', $arr, 1);
    3. foreach ($arr as $value) {
    4. if ($value == 1) {
    5. echo 'gefunden: ' . $value;
    6. }
    7. }

    in2code.de - Wir leben TYPO3
    - Möchtest du TYPO3 komplett verstehen? Eigene Erweiterungen erstellen? Bei uns gibt es auch Schulungen https://www.in2code.de/produkte/typo3-schulungen/
    - Die Arbeit mit TYPO3 macht dir Spaß? Du stehst auf Berge? Komm zu uns! https://www.in2code.de/agentur/karriere/

  • 0 x
    21 Beiträge
    0 Hilfreiche Beiträge
    12. 05. 2010, 10:09

    ich denke, ein regulärer ausdruck sollte so geprüft werden:

    1. ...
    2. // Prüfen, ob der String ($string): Zahlen und Pipes enthaellt:
    3. // Example : 1|15|25
    4. // \d = ZAHL
    5. // {x} = Anzahl der Ziffern in der Zahl d
    6.  
    7. if ( preg_match('/[\d{1}]+|+[\d{2}]+|+[\d{2}]/', $string))
    8. {
    9.  
    10. // foreach-schleife wie oben ..
    11.  
    12. }/* end if*/

    dabei geht aus der Anfrage nicht hervor, ob vor der ersten Pipe immer eine einstellige Zahl (also eine Ziffer steht) oder ob da auch zweistellige Zahlen vorkommen dürfen. ( 1|15|25 )
    Zum Thema Reguläre Ausdrücke empfehle ich Jörg Krauses Buch "Programmieren lernen in PHP" Kapitel 13.3

    gruss
    zero

  • 1