如何查找正則表達式句子中的最後一個單詞?正則表達式在句子中查找最後一個單詞
8
A
回答
11
如果你需要找到一個字符串的最後一個單詞,然後做到這一點:
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];
?>
+0
有沒有辦法做到這一點,所以我只是使用一個正則表達式像壓縮成一個?因爲我有一個函數,我正在使用,我只是不能得到正則表達式的工作,它正在拾取句號和空格,並沒有別的 – Sam 2010-09-05 23:03:39
3
一般來說,你不能正確解析使用正則表達式英文文本。
您可以做的最好的辦法是尋找一些通常會終止句子的標點符號,但不幸的是這不是保證。例如文本博格斯先生在這裏。你想和他談談嗎?包含兩個具有不同含義的時期。用正則表達式來區分這段時期的兩種用法是沒有辦法的。
我建議您改爲看看自然語言解析庫。例如,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庫,我不認可,在一個產品特別是 - 這只是一個例子,證明可以將文本解析成具有相當高可靠性的句子。請注意,即使是自然語言解析庫也會偶爾出現錯誤 - 正確解析人類語言很困難。
相關問題
- 1. 正則表達式在一個句子中的一組單詞
- 2. 用正則表達式在句子中找到一個詞
- 3. 正則表達式來找到一個詞在句子
- 4. 正則表達式來查找字符串中的最後一個單詞(Python)
- 5. 正則表達式匹配句子中的第一個單詞
- 6. 查找單詞的正則表達式
- 7. 正則表達式查找最後一個單詞前的空格
- 8. 在正則表達式中查找最後一個匹配
- 9. 正則表達式 - 從第n個單詞到最後一個
- 10. Notepad ++正則表達式在文檔中查找多個單詞?
- 11. 匹配一個單詞的最後位置 - 正則表達式
- 12. 正則表達式匹配句子後的單詞
- 13. 正則表達式找到最後一個大寫單詞和另一個單詞之間的單詞
- 14. 正則表達式,找到匹配後的下一個單詞
- 15. 正則表達式匹配一個句子中的第一個和最後一個單詞javascript?
- 16. 正則表達式找到一個詞
- 17. 如何用正則表達式在一個句子中增加多個單詞?
- 18. 用正則表達式從一個句子找到單詞[a-zA-Z]
- 19. 正則表達式匹配特定的詞,除非它是最後一個單詞在句子(titleize)
- 20. 句中的最後單詞:在SQL中(正則表達式可能?)
- 21. 正則表達式在php中查找word中的單詞
- 22. 正則表達式從一個句子
- 23. 正則表達式找到一個句子中不是第一個單詞的專有名詞或短語
- 24. 查找python正則表達式的最後一個匹配項
- 25. 正則表達式尋找單詞
- 26. 正則表達式在單詞中查找跳過字母
- 27. Php使用正則表達式在文本中查找單詞
- 28. 使用正則表達式提取一個句子中的最後幾個單詞?
- 29. 用於匹配句子中的單詞的正則表達式
- 30. 使用正則表達式計算Perl中的句子/單詞
寫入的文字是什麼語言?英語? – 2010-09-05 23:24:27