Java 如何忽略所有包含重音的单词(非英语单词)?

Java 如何忽略所有包含重音的单词(非英语单词)?,java,regex,Java,Regex,我正在创建一个Java应用程序,如果我有一个段落,我想从中获取单词。我想写一个正则表达式,只抓取英语单词,忽略任何带有重音的单词,其中包含一个或多个非英语字母 示例:为团队准备的贝勒·阿夫勒·阿夫格伦德(berøres af eller er afgørende) 我应该使用\p{M}还是什么?这将匹配包含字母A-Z的所有单词 (?:^|\s)[a-zA-Z]+(?=\s|$) 某些风格的正则表达式将在重音字符上匹配\b。因此,如果需要,您需要在“前瞻”中添加标点符号。英语单词中有重音符号。嘘

我正在创建一个Java应用程序,如果我有一个段落,我想从中获取单词。我想写一个正则表达式,只抓取英语单词,忽略任何带有重音的单词,其中包含一个或多个非英语字母

示例:为团队准备的贝勒·阿夫勒·阿夫格伦德(berøres af eller er afgørende)


我应该使用\p{M}还是什么?

这将匹配包含字母A-Z的所有单词

(?:^|\s)[a-zA-Z]+(?=\s|$)

某些风格的正则表达式将在重音字符上匹配\b。因此,如果需要,您需要在“前瞻”中添加标点符号。

英语单词中有重音符号。嘘!不太懂,是吗?很多非英语单词没有重音符号。单词可以有重音和标点符号。缩略词不可以,不能,借词天真,café,复合词fire fighter和专有名词Zöe就是例子。如果你想识别英语单词,最好从一个英语单词列表开始:。你真是聪明又有用。布拉德现在肯定知道如何过滤含有特殊符号的单词了。