0
A
回答
3
1
为了完成你正在做的事情,你需要使用词性标注器来分类句子中使用的词类。 您可以使用任何一种自然语言处理库来做到这一点。 例如。在Python中你有pynltk。 http://answers.oreilly.com/topic/1091-how-to-use-an-nltk-part-of-speech-tagger/
之后,您需要根据词性对词汇进行分组并统计它们。 完全超出了正则表达式的范围。
0
你的正则表达式是(\\s|^)([a-zA-Z]+?)<Noun>(\\s|$)
,在每一个找到的匹配,你应该使用$2
通过使用下面的代码来获得结果
在C#中,你可以做到这一点:
string type = "Noun";
int top = 5;
MatchCollection mc = Regex.Matches("I<Noun> like<verb> to<Function> eat<verb> an apple<Noun>", String.Format("(\\s|^)([a-zA-Z]+?)<{0}>(\\s|$)", type));
List<string> res = new List<string>();
for (int i = 0; i < mc.Count && i < top; i++)
{
res.Add(mc[i].Result("$2"));
}
相关问题
- 1. 正则表达式来匹配单词
- 2. 正则表达式前面的单词匹配
- 3. 用于匹配单词或单词的正则表达式
- 4. 正则表达式:匹配所有包含单词的单词
- 5. pcre正则表达式匹配前两个单词,数字
- 6. PHP的正则表达式匹配词
- 7. 正则表达式匹配后的词
- 8. 正则表达式第n个匹配
- 9. java的正则表达式 - 匹配一个OCCURENCES仅
- 10. python正则表达式来匹配有n个词的句子
- 11. 使用正则表达式匹配部分单词或单词
- 12. 正则表达式 - 匹配一组词
- 13. C++正则表达式匹配“+”量词
- 14. 正则表达式匹配两个词
- 15. 正则表达式匹配单行或多行的任何单词[\ r \ n]
- 16. 正则表达式匹配字符串的前n个字符
- 17. 正则表达式匹配短语中的单个单词
- 18. 正则表达式匹配前缀
- 19. 正则表达式匹配URL前缀
- 20. 用正则表达式匹配至少包含n个单词的句子
- 21. 正则表达式匹配N跟短语前导空格
- 22. 正则表达式匹配单词组和以前匹配的单词组的部分
- 23. 简单的正则表达式匹配
- 24. 简单的正则表达式匹配
- 25. 简单匹配的正则表达式
- 26. 简单的正则表达式匹配
- 27. 简单的正则表达式匹配
- 28. 用于匹配句子中的单词的正则表达式
- 29. 正则表达式匹配完整的单词,从第(JavaScript)的
- 30. 正则表达式匹配,如果词不前,其他字
如何正则表达式应该知道一个词是一个名词?有时候,这对人类来说并不明显。 –
好吧,你想列出专有名词? –
你甚至不知道语言是什么 – fge