Wenn Sie das letzte Wort in einer Zeichenfolge suchen müssen, dann tun Sie dies:
%Vor%Nach dieser Anweisung enthält $ 1 das letzte Wort in der Zeichenfolge. Möglicherweise müssen Sie die Zeichenklasse [.!?] Erweitern, indem Sie weitere Interpunktionszeichen hinzufügen.
in PHP:
%Vor%Im Allgemeinen können Sie englischen Text mit regulären Ausdrücken nicht korrekt analysieren.
Das Beste, was Sie tun können, ist, nach einer Interpunktion zu suchen, die normalerweise einen Satz beendet, aber das ist leider keine Garantie. Zum Beispiel der Text Mr. Bloggs ist hier. Willst du mit ihm reden? enthält zwei Punkte, die unterschiedliche Bedeutungen haben. Es gibt keine Möglichkeit für einen regulären Ausdruck, zwischen den beiden Verwendungen des Zeitraums zu unterscheiden.
Ich würde stattdessen vorschlagen, dass Sie eine Parsing-Bibliothek für natürliche Sprache betrachten. Zum Beispiel die Stanford Parser hat überhaupt keine Probleme, den obigen Text in die zwei Sätze zu zerlegen:
%Vor%Es gibt viele andere frei verfügbare NLP-Bibliotheken, die Sie auch verwenden könnten, ich befürworte nicht gerade dieses eine Produkt - es ist nur ein Beispiel, um zu demonstrieren, dass es möglich ist, Text in Sätze mit einer ziemlich hohen Zuverlässigkeit zu parsen. Beachten Sie jedoch, dass selbst eine Parsing-Bibliothek für natürliche Sprachen immer noch gelegentlich einen Fehler macht - das korrekte Parsen menschlicher Sprachen ist schwierig.
Tags und Links javascript regex