2017-01-24 2 views
1

einen regulären Ausdruck zu finden versuchen, diese Zeichenfolge mit PHP preg_match_all zu handhaben:PHP Regex Hilfe - Spiel etwas = „etwas 's“ mit entkam Apostroph

include='Track Ass\'y' 

Die Regex sollte umgehen können einzelne oder doppelte Anführungszeichen, aber nicht auf das gestrichene Zitat. Derzeit ist die Regex an Ort und Stelle wie folgt aussieht:

/([^ ]*?)=["|'](.*?)(["|'])/ 

Dies bricht auf dem ‚und nur in dem Apostroph passt auf und verfehlt das letzte y‘. Hilfe?

+0

i on = explodieren würde und entfernen Sie einfach das erste und das letzte charcter des zweiten Teils – nogad

+1

Es ist vor dem 'y' Anhalten wegen Ihrer lazy-Spiel' ' . Entfernen Sie das zweite Fragezeichen: '(. *)' –

+0

@Chin Das löste es - können Sie dies als eine Antwort setzen, und ich werde es auswählen? –

Antwort

1

Es stoppt vor der y wegen Ihrer faulen Übereinstimmung ?.

Entfernen Sie die zweite Fragezeichen:?

(.*) 
2
([^ ]*?)=["|'](.*?)(["|']\w['|"]) 

..works:

enter image description here

try using a webtool Ihre regex zu debuggen.

+1

war nur Verknüpfung Regex 101 mit dem OP. – Jhecht

+1

OP verwendet bereits Regex 101 und Regexr, aber es hilft nur so viel, wenn Sie auf die Teile von regulären Ausdrücken unscharf sind. –