我想编写一个正则表达式来删除没有至少一个字母的文本文件的所有标记。我使用OpenNLP tokenizer来提取我的文本文件的标记。例如,从给定文本中删除标记 90-87,65 @ 7,---,8/0,?。
我尝试关注这些网页1,2和3;但我找不到我想要的表达方式。例如,以下代码删除令牌 anti-age,11月中旬。
.jar
但是,我不知道如何防止像抗衰老一样去除令牌。
问题出在哪里?
答案 0 :(得分:2)
[a-zA-Z]+
表达式匹配仅包含一个或多个ASCII字母的字符串。它不允许使用连字符,撇号等。
要匹配不包含空格和至少一个字母的字符串,您可以使用
word.matches("\\S*\\pL\\S*")
请参阅IDEONE demo
\S*
模式匹配零个或多个非空白字符,\pL
匹配任何Unicode字母。