Ich versuche, einen regulären Ausdruck zu verwenden, um eine variierende Zeichenfolge mit PHP zu analysieren, kann diese Zeichenfolge beispielsweise sein;Variable Größe Lookahead konsumieren
"twoX // threeY"
oder
"twoX /// threeY"
So gibt es ein Link Schlüsselwort, ein divider
bestehend aus 2 oder 3 Schrägstrichen und ein rechten Schlüsselwort. Dies sind auch die Teile, die ich getrennt konsumieren möchte.
"/((?<left>.+)?)(?=(?<divider>[\/]{2,3}))([\/]{2,3})((?<right>.+)?)/";
Als ich diesen regulären Ausdruck auf der ersten Zeichenfolge verwenden, wird alles korrekt analysiert, so;
links: twoX
Teiler: //
rechts: threeY
aber wenn ich laufe diesen Ausdruck auf der zweiten Saite, die links und der Teiler wird nicht korrekt analysiert. Das Ergebnis, das ich dann bekommen habe, ist;
links: twoX/
Teilers: //
rechts: threeY
verwende ich die {2,3} in der regulärer Ausdruck, um entweder 2 oder 3 Schrägstriche für den Teiler auszuwählen. Aber das scheint irgendwie nicht mit dem Match All Charakter zu funktionieren.
Gibt es eine Möglichkeit, die Regex entweder 2 oder 3 Schrägstriche analysieren zu lassen, ohne die gesamte Sequenz zu duplizieren?
Ja, es ist einfach, müssen Sie '' statt '' –
Warum kann‘ tst du die Aussage einfach mit '\ s */+ \ s *'? Anstatt '\ s' zu verwenden, können Sie auch' '(literales Leerzeichen) verwenden, da' \ s' auch anderen Leerzeichen entspricht. – Asunez