2008-11-28 11 views
6

Ich brauche eine RegExp, die ein Wort oder mehrere Wörter in Anführungszeichen passt.RegExp Spiel ein Wort oder mehrere Wörter in Anführungszeichen

[\ w] * entspricht einem Wort

"[\ w \ W & & [^"]] *“passt mehrere Wörter in Anführungszeichen.

(btw, nicht sicher, warum \ w \ W funktioniert, aber nicht einfach. (das sollte alle Zeichen übereinstimmen)

wie kombiniere ich diese beiden regexp?

Antwort

4

Hat "[^"]+" tun, was Sie wollen? (Match ein doppeltes Anführungszeichen, Spiel einer oder mehr Zeichen, die keine Anführungszeichen sind, dann m Atch eine zweite doppelte Anführungszeichen)

3

Ich würde es vorziehen.

"\s*((?:\w(?!\s+")+|\s(?!\s*"))+\w)\s*" 

statt "[^"]+" weil ^" alles passt, nicht nur \w (alphanumerical) char [a-zA-Z_0-9]

auf diese Weise, Sie passen Nur \w Zeichen in Anführungszeichen, ohne abschließende Leerzeichen.

" ee eee e ee " 

Ihnen in der Gruppe gibt (1):

ee eee e ee 

Den negativen Vorgriff (?!\s+") hier sind sicher, dass ich die letzten Leerzeichen vor dem doppelten Anführungszeichen nicht enthalten zu machen;

6

vor allem danke.

Ihre Antworten haben wirklich geholfen - aber ich bemerkte, dass meine Frage vielleicht nicht klar genug war.

Wie auch immer, aus Ihren Antworten i mit diesem regexp endete:

"[^"] + "| [\ w] +

Welche Wörter und mehrere Wörter in Anführungszeichen übereinstimmt.

zB: was ist „das Ding“ wird 3 Ursachen geben: erstes Spiel: was zweites Spiel: ist drittes Spiel: „das Ding“

Welches ist genau das, was ich brauchte. Danke noch einmal.

+0

+1 Viel einfacher;) Ich habe zuerst nicht bekommen, was Sie wollten, aber ich lasse meine Antwort als Referenz – VonC