2016-12-06 3 views
1

Ich habe einen regulären Ausdruck, der mit dem zitierten Text '.*?' übereinstimmt, aber wie kann ich das nur auf zitierten Text anwenden, wenn es in Parens eingeschlossen ist. Zum Beispiel:Regex - Text in Anführungszeichen in Klammern

('want this', 'want this', dont want) 
'dont want' 

Antwort

4

Wenn Sie sicher sind die Klammern kommen immer in Öffnen/Schließen Paare, könnten Sie diesen regulären Ausdruck verwenden:

'[^']*'(?=[^(']*('[^']*'[^'(]*)*\)) 

Es setzt voraus, dass ein passender zitierten Text von einer Schließ folgt Klammern (nicht selbst in Anführungszeichen) vor jeder öffnenden. Außerdem muss die Anzahl der Anführungszeichen, die nach der Übereinstimmung und vor der schließenden Klammer angezeigt werden, geradzahlig sein (öffnen/schließen).

Verwandte Themen