Wie finde ich das letzte Wort in einem Satz mit einem regulären Ausdruck?Regulärer Ausdruck, um das letzte Wort im Satz zu finden
Antwort
Wenn Sie das letzte Wort in einer Zeichenfolge finden müssen, dann tut dies:
m/
(\w+) (?# Match a word, store its value into pattern memory)
[.!?]? (?# Some strings might hold a sentence. If so, this)
(?# component will match zero or one punctuation)
(?# characters)
\s* (?# Match trailing whitespace using the * because there)
(?# might not be any)
$ (?# Anchor the match to the end of the string)
/x;
Nach dieser Aussage, 1 $ das letzte Wort in der Zeichenfolge halten. Möglicherweise müssen Sie die Zeichenklasse [.!?] Erweitern, indem Sie weitere Interpunktionszeichen hinzufügen.
in PHP:
<?php
$str = 'MiloCold is Neat';
$str_Pattern = '/[^ ]*$/';
preg_match($str_Pattern, $str, $results);
// Prints "Neat", but you can just assign it to a variable.
print $results[0];
?>
gibt es eine Möglichkeit, es zu tun, so dass ich nur einen regulären Ausdruck wie kompakt es in einem verwenden? Weil ich eine Funktion habe, die ich benutze, und ich kann nicht den regulären Ausdruck zu arbeiten, es ist Punkt und Leerräume und nichts anderes – Sam
Im Allgemeinen kann man nicht richtig englischen Text mit regulären Ausdrücken analysiert.
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 natürliche Sprache analysieren Bibliothek. Zum Beispiel hat die Stanford Parser an keine Probleme all den obigen Text in die beiden Sätze richtig Parsen:
Mr./NNP Bloggs/NNP is/VBZ here/RB ./. Do/VBP you/PRP want/VB to/TO talk/VB to/TO him/PRP ?/.
Es gibt viele andere frei verfügbar NLP-Bibliotheken, die Sie auch nutzen könnten, bin befürwortende ich nicht, dass ein Produkt in Insbesondere - es ist nur ein Beispiel, um zu zeigen, 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 einen Fehler macht - das korrekte Parsen menschlicher Sprachen ist schwierig.
ja ich wollte es vor jedem Punkt, aber Sie haben Recht, es würde wählen up Herr. was ich nicht will – Sam
Das Originalplakat hat kein Englisch angegeben. In einigen Sprachen werden keine Leerzeichen zwischen Wörtern eingefügt. Daher frage ich mich, ob ein Programm das letzte Wort richtig finden könnte. –
Ja, ich habe nie daran gedacht, ich nehme an, dass es nicht so wäre – Sam
- 1. Regulärer Ausdruck, um Räume zu finden
- 2. Python Regulärer Ausdruck, um die letzte Datei im Verzeichnis
- 3. Regulärer Ausdruck, um einen Satz mit bestimmter Länge auszuwählen
- 4. Python regulärer Ausdruck ganzes Wort
- 5. Regulärer Ausdruck, um durch Leerzeichen getrennte Wörter zu finden
- 6. Regulärer Ausdruck zu finden System.out.print
- 7. Welchen regulären Ausdruck würde ich verwenden, um das Wort "oy" zu finden?
- 8. Regulärer Ausdruck Den Raum vor dem letzten Wort finden
- 9. Regulärer Ausdruck, um Klammern in einer Zeichenfolge zu finden
- 10. Regulärer Ausdruck, um alle Tabellennamen in einer Abfrage zu finden
- 11. Perl regulärer Ausdruck für englisches Wort
- 12. Elastic nicht das letzte Wort im Satz findet mit dem Punkt am Ende
- 13. Regex, um ein Wort zu finden, das ein Escapezeichen enthält
- 14. Regulärer Ausdruck, um Neuseeland-Telefonnummern zu validieren
- 15. Komplexer regulärer Ausdruck
- 16. Regulärer Ausdruck, um Sozialversicherungsnummer
- 17. Regulärer Ausdruck bestimmten Satz von Daten zu analysieren
- 18. Regulärer Ausdruck, nur um das Datum zu erfassen
- 19. Regulärer Ausdruck zurückzukehren, das Wort vor einem String - Python
- 20. Verwenden von Lookahead, um das letzte Zeichen zu finden
- 21. Ein regulärer Ausdruck ein Wort/string
- 22. Regulärer Ausdruck, um nicht übereinstimmende Wörter in der Zeichenfolge zu finden
- 23. Regulärer Ausdruck um Dollarbeträge zu vergleichen
- 24. Regulärer Ausdruck in Vim, um Gruppenerfassung
- 25. Regulärer Ausdruck, um ausgewählte Spalten zu erhalten
- 26. Python regulärer Ausdruck, um Absätze zu trennen
- 27. Ein regulärer Ausdruck, um XML zu bereinigen
- 28. Elasticsearch finde fehlendes Wort im Satz
- 29. Regulärer Ausdruck entspricht das Wort, aber das Wort nicht in anderen Saiten
- 30. Regulärer Ausdruck, um nur Buchstaben zu entsprechen
In welche Sprache ist der Text geschrieben? Englisch? –