2016-11-28 5 views
0

Ich studiere Regex. Ist es möglich, oring-Operator auf Zielzeichenfolge anzuwenden?Regex, Anwendung oder Operation auf Ziel-String

z. B. POS-Tagging berücksichtigen.

Bei einem gegebenen Satz wie „Ich mag apple“, ich mag es mit regex „wie NNG NP“ gefunden

Da es Teil-of-speech für jedes Wort in dem Satz vorhanden ist, einen regulären Ausdruck gegeben "NP like NNG", 8 mögliche Zielzeichenfolgen können angepasst werden. (Ich mag Apfel, NP wie Apfel, NP VV Apfel, NP VV NNG et al.)

Ich frage mich, ist es möglich, Ziel Zeichenfolge als (I | NP) (wie | VV) (Apfel | NNG), so dass Regex "NP wie NNG" auf einmal abgestimmt werden kann?

+0

Ist es ein Muster für Stanford NLP 'TokenSequencePattern'? –

Antwort

0

Du hast bereits geschrieben fast die gesamte Regex mit (I|NP)(like|VV)(apple|NNG)

Das Einzige, was Sie berücksichtigen müssen, ist die Räume, können Sie dies wie so mit \s tun:

(I|NP)\s+(like|VV)\s+(apple|NNG) 

Siehe auch diese Debuggex Demo

+0

Vielen Dank für Ihre Antwort, aber ich denke, Sie haben mich falsch verstanden. In meiner Frage ist Regex "NP wie NNG" und die Zielzeichenfolge ist "Ich mag Apple" mit (I => NP), (wie => VV), (Apple => NNG) -Paare. –

+0

Ah, ich sehe, also NP, VV und NNG sind Kategorien von Wörtern (Substantive, Verben, etc) und Sie möchten Wörter mit der richtigen Kategorie zusammenbringen? Dies ist mit Regexen nicht möglich. Regexes schauen sich die Reihenfolge der Zeichen an, passen aber nicht in die Bedeutung eines Wortes in einem Kontext. Ich habe jedoch eine ähnliche Frage beantwortet, hier hat der Eingabetext "Tags", die die Kategorie bezeichnen, die mit _can_ abgeglichen werden kann: http://stackoverflow.com/questions/29751807/translate-from-tag-format-to-regex -für-Korpus – funkwurm