Jonny 5: Variablen am Anfang eines String herausfiltern

Beitrag lesen

Hallo!

Miene eigentliche Frage lautet nun also: Wie sucht man nach dem ersten Leerzeichen dem kein Kommata oder Schrägstrich vorangestellt ist?

Oder: Wie findet man einzelne Wörter einer Kette von Wörtern, die an den Start des Strings geleimt ist und durch ein Komma + Leerzeichen gegliedert ist.

Ein regex Muster könnte so aussehen, falls ich das Problem richtig verstanden habe:

\G(?:, )?\K[\w-]+
  • Der \G Anker ist sozusagen der Leim. Er passt auf den Start des Strings und die Stelle, an welcher ein vorrangegangener Treffer endet.
  • (?:, )? Eine optionale sog. non-capturing group, welche ein Komma mit einem nachgestellten Leerzeichen enthält. Optional, da das Komma mit Leerzeichen auf den Anfang nicht zutrifft.
  • \K Escape-Sequenz setzt den Anfang des Treffers zurück.
  • [\w-]+ Eine Zeichenklasse, die Wortzeichen und ein Minus enthält. Jeweils 1 oder mehr hiervon.

Anzuwenden mit preg_match_all. Hier ein PHP Test auf eval.in oder regex Test auf regex101.

1 45

Variablen am Anfang eines String herausfiltern

LastBoyScout
  • php
  • regex
  1. 0
    Tabellenkalk
    1. 0
      LastBoyScout
  2. 0
    LastBoyScout
    1. 0
      Auge
      1. 0
        LastBoyScout
        1. 0
          Auge
          1. 0
            LastBoyScout
            1. 1
              dedlfix
              1. -3
                pl
                1. 1
                  dedlfix
                  1. 0
                    Gunnar Bittersmann
                    1. 2
                      dedlfix
                      1. 0
                        Matthias Apsel
                        1. -1
                          Gunnar Bittersmann
                          1. 2
                            dedlfix
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                Der Martin
                              2. 0
                                dedlfix
                                1. 0
                                  Tabellenkalk
                                  1. 0
                                    Auge
                                  2. 0
                                    dedlfix
                                  3. 0
                                    Gunnar Bittersmann
                                    1. 0
                                      Der Martin
                                      • klugscheißerei
                      2. 0
                        Christian Kruse
                        • hochwissenschaftliches
                        1. -1
                          Gunnar Bittersmann
                          1. 0
                            Matthias Apsel
                            1. 0
                              Christian Kruse
                            2. 0
                              Gunnar Bittersmann
                          2. 2
                            Christian Kruse
                2. 2
                  Auge
                  • meinung
                3. 2
                  Gunnar Bittersmann
                  • meinung
              2. 0
                LastBoyScout
                1. 1
                  dedlfix
            2. 0
              Der Martin
              1. 0
                dedlfix
                1. 0
                  Der Martin
              2. 0
                LastBoyScout
                1. 0
                  LastBoyScout
                  1. 0
                    dedlfix
                    1. 0
                      LastBoyScout
                      1. 0
                        Gunnar Bittersmann
                        • menschelei
        2. 0
          Jonny 5
          1. 0
            Jonny 5
  3. 0
    Rolf b
    • klugscheißerei
    • php