PHP Regex Gruppen erfasst

8

Ich habe die folgende Regex:

%Vor%

Dies entspricht erfolgreich folgendem:

%Vor%

Aber das Spiel ist:

%Vor%

Was ich brauche, ist etwa so:

%Vor%

Ich kann das in C # machen, wenn ich die Gruppen "Captures" betrachte. Wie kann ich das in PHP machen?

    
carlosdubusm 12.04.2011, 23:35
quelle

4 Antworten

8

Dies ist nicht der Job für die Regexp. Match gegen \[([^\]]*)\] , dann split das erste Capture von " - " .

%Vor%     
Amadan 12.04.2011, 23:43
quelle
10

Angenommen, die Token in Ihrer Beispielzeichenfolge enthalten keine Leerzeichen und sind alphanumerisch:

%Vor%

Ausgabe:

%Vor%     
drudge 12.04.2011 23:56
quelle
4

SPL preg_match_all gibt Regex-Gruppen beginnend mit Index 1 von $matches zurück Variable. Wenn Sie nur die zweite Gruppe erhalten möchten, können Sie beispielsweise $matches[2] verwenden.

Syntax:

%Vor%

Ergebnis:

%Vor%

P.S. Diese Antwort wird für den Kontext des Fragentitels gepostet, nachdem sie von einer Google-Suche hierher geleitet wurde. Das war die Information, die mich bei der Suche nach diesem Thema interessiert hat.

    
ThorSummoner 05.09.2014 00:32
quelle
3

Um Ihre Übereinstimmungen zu gruppieren, verwenden Sie Klammern. ZB:

%Vor%

$matches wird ['bob']

sein %Vor%

$matches wird ['b','o','b']

sein     
Andrew 21.04.2017 13:04
quelle

Tags und Links