Vor zwei Tagen fing ich an, an einem Code-Parser zu arbeiten, und ich stecke fest.
Wie kann ich eine Zeichenfolge durch Kommas teilen, die nicht in Klammern stehen? Lassen Sie mich Ihnen zeigen, was ich meine:
Ich habe diese Zeichenfolge parsen:
%Vor%Ich möchte dieses Ergebnis erhalten:
%Vor%aber stattdessen bekomme ich:
%Vor%Wie kann ich das in PHP RegEx tun?
Vielen Dank im Voraus!
Sie können nicht direkt. Du brauchst mindestens Lookbridge mit variabler Breite, und zuletzt wusste ich, dass PHPs PCRE nur einen Lookback mit fester Breite hat.
Meine erste Empfehlung wäre, zuerst geklammerte Ausdrücke aus der Zeichenfolge zu extrahieren. Ich weiß jedoch nichts über Ihr tatsächliches Problem, also weiß ich nicht, ob das machbar ist.
Ich finde, es ist erwähnenswert, dass Sie immer reguläre Ausdrücke vermeiden sollten, wenn es Ihnen möglich ist. Zu diesem Zweck sollten Sie wissen, dass Sie für PHP 5.3+ verwenden können str_getcsv () . Wenn Sie jedoch mit Dateien (oder Dateiströmen) arbeiten, z. B. CSV-Dateien, verwenden Sie die Funktion fgetcsv () könnte das sein, was Sie brauchen, und es ist seit PHP4 verfügbar.
Schließlich bin ich überrascht, dass niemand preg_split () , oder hat es nicht wie nötig funktioniert?