Match ein Wort mit regex, die auch Griffe Apostrophe

Muss ich trennen eine Linie von text in Wörter, und verwirrt bin, was regex zu verwenden.
Ich habe überall gesucht für ein regex entspricht einem Wort und fand diejenigen, die ähnlich zu diesem post, aber es will in java (java nicht verarbeiten \ in regelmäßigen strings).

Regulären Ausdruck für die Wörter und diejenigen, die mit einem Apostroph

Habe ich versucht die regex für jede Antwort und bin unsicher, wie die Struktur eines regex für java für diese (ich angenommen, dass alle regex-waren die gleichen). Wenn ersetzen \ durch \ im regex sehe ich die regex nicht funktioniert.

Ich habe auch versucht, suchen Sie es selbst und kommen Sie zu dieser Seite:
http://www.regular-expressions.info/reference.html

Aber ich kann nicht umbrochen, mein Kopf herum regex-fortgeschrittene Techniken.

Bin ich mit String.split(regex, string hier) zu trennen, mein string.
ein Beispiel ist, wenn ich die folgenden:
"Ich mag zu Essen, aber ich weiß nicht, wie zu Essen, das Essen für alle, oder Sie werden verhungern."
Ich möchte match:

I
like
to
eat
but
I
don't
like
to
eat
everyone's
food
or
they'll
starve

Ich will auch nicht zu passen " oder "" oder ""oder". " oder andere Permutationen.
Mein Trennzeichen Bedingungen sollten ähnlich sein:
[entsprechen alle Wortzeichen][ebenfalls mit einem Apostroph, wenn es vorangestellt ist ein Wort-Zeichen und dann mit Wort-Zeichen nach, wenn es irgendwelche]

Was ich habe ist nur eine einfache regex-matches Worte [\w], aber ich bin nicht sicher, wie lookahead oder Blick hinter passend das Apostroph und dann die restlichen Worte.

  • duplizieren: stackoverflow.com/questions/2596893/...
  • warum nicht aufgeteilt auf Leerzeichen? yourString.split("\\s+");
  • Nicht wirklich, er fragt die gleiche Frage aber für eine andere Sprache. (Python 3.x vs Java), die unterschiedliche Antworten haben.
  • Es geht um die regex nicht wirklich Java selbst, nicht ?
  • Nein, er sagte, er habe versucht, alle Antworten in dieser Frage, aber er fragt, wie man Java-regex-match Wörter mit Apostrophen. Der Weg von Python-und Java-Implementierung Regex unterschiedlich sind, so gibt es leichte Unterschiede zwischen dem, wie die Ausdrücke genannt werden. Wenn jemandes nicht mit beiden Sprachen vertraut, die übersetzung der regex ist zwischen den beiden könnte nicht einfach sein. Zum Beispiel, werden nicht alle Sprachen unterstützt-Look-behinds, so sind die Ausdrücke anders sein würde, von einem zum anderen.
  • wenn ich split auf whitespace es nicht herausfiltern Unsinn Dinge wie .. "oder"/? " oder ähnliches. Ich möchte an dieser regex in java, so würde ich annehmen, dass eine java-freundliche regex-Ausdruck wäre eine gute Antwort. Ich weiß, meine Frage ist sehr ähnlich wie der andere, aber dies ist für java, und ich wollte nicht zu entgleisen seine Frage, indem er eine meiner eigenen in den Kommentaren.
  • ja du hast Recht, regex kann unterschiedlich implementiert in Java und Python. Ich fügte hinzu, eine Antwort mit einem regulären Ausdruck extrahiert aus dem oben verlinkten Seite. Es scheint zu funktionieren wie OP will.
  • "\\w+('\\w+)*'?"?
  • Der regex "\\w+('\\w+)*'?" scheint schneiden Sie alle Wörter, außer den Satzzeichen und so. Ich gab es den Satz "Hallo, Welt! Essen Sie nicht, jemanden Sandwich. Völker'." und es gab(getrennt durch -): ""-", "-"! "-" "-" "-" "-". "-"." Dies scheint, wie es eine Auswahl aus delimitters richtig, aber wie bekomme ich es, um Worte?

Schreibe einen Kommentar