Как найти последнее слово в предложении с регулярным выражением?Регулярное выражение, чтобы найти последнее слово в предложении
ответ
Если вам нужно найти последнее слово в строке, то сделайте следующее:
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;
После этого заявления, $ 1 будет держать последнее слово в строке. Возможно, вам придется расширить класс символов [.!?], Добавив больше знаков препинания.
в 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];
?>
Есть ли способ сделать это, чтобы я просто использовал регулярное выражение, как компактное в одном? потому что у меня есть функция, которую я использую, и я просто не могу получить регулярное выражение, чтобы работать, он собирает полные стопы и пробелы и ничего больше. – Sam
В общем, вы не можете правильно разобрать текст на английском языке с регулярными выражениями.
Лучшее, что вы можете сделать, это найти некоторые знаки препинания, которые обычно заканчивают предложение, но, к сожалению, это не гарантия. Например, текст Mr. Bloggs находится здесь. Вы хотите поговорить с ним? содержит два периода, которые имеют разные значения. Нет никакого способа для регулярного выражения различать два использования периода.
Я бы предложил вместо этого взглянуть на библиотеку разбора естественного языка. Например, Stanford Parser не имеет никаких проблем вообще правильно разборе вышеуказанный текст в двух фразах:
Mr./NNP Bloggs/NNP is/VBZ here/RB ./. Do/VBP you/PRP want/VB to/TO talk/VB to/TO him/PRP ?/.
Есть много других свободно доступных библиотек NLP, которые вы могли бы использовать слишком, я не одобряющие, что один продукт в частности - это просто пример, демонстрирующий, что можно анализировать текст в предложениях с достаточно высокой надежностью. Обратите внимание, что даже библиотека естественного разбора языка порой будет ошибочно ошибочно воспринимать человеческие языки правильно.
да, я собирался сделать это перед каждой полной остановкой, но вы правы, up mr. который я не хочу – Sam
Исходный плакат не уточнил английский. Некоторые языки не помещают пробелы между словами, поэтому я задаюсь вопросом, может ли программа правильно выбрать последнее слово. –
Да, правда, я никогда не думал об этом, я полагаю, – Sam
- 1. Perl - регулярное выражение, чтобы отфильтровать последнее слово
- 2. регулярного выражения, чтобы найти слово в предложении
- 3. Отрицательный Lookahead, чтобы найти слово с латским соответствием в предложении
- 4. Python регулярное выражение. Найти предложение в предложении
- 5. Найти слово в предложении
- 6. regex последнее слово в предложении, заканчивающемся пунктуацией (период)
- 7. Регулярное выражение, чтобы найти слово в конце строки
- 8. JavaScript регулярное выражение, чтобы найти слово в середине строки
- 9. Регулярное выражение: найти последнее число n
- 10. Как совместить последнее слово в предложении?
- 11. выберите последнее слово в предложении, имеющем определенное слово
- 12. Какое регулярное выражение я бы использовал, чтобы найти слово «oy»?
- 13. Регулярное выражение, соответствие слов в предложении
- 14. Регулярное выражение, чтобы найти слово после нескольких пробелов
- 15. Регулярное выражение, чтобы найти следующее слово после матча
- 16. регулярное выражение поможет найти слово с характером
- 17. Регулярное выражение, чтобы найти цену
- 18. Найти любое слово в предложении
- 19. Полное слово регулярное выражение
- 20. Регулярное выражение, чтобы найти System.out.print
- 21. найти слово «воля» в предложении
- 22. Регулярное выражение для подсчета слов в предложении
- 23. заменить слово в предложении
- 24. Регулярное выражение, чтобы принять отсутствующее слово
- 25. Регулярное выражение Исключить слово
- 26. регулярное выражение, чтобы изменить пользовательское слово
- 27. Регулярное выражение слово соответствие
- 28. простое регулярное выражение, чтобы найти два слова
- 29. JavaScript Регулярное выражение Последнее соответствие
- 30. Notepad ++ - можете ли вы использовать регулярное выражение, чтобы переместить последнее слово в строке вперед?
На каком языке написанный текст? Английский? –