只需要有关Java搜索任务的帮助。
我需要从文件中读取一行,并列出其中所有包含多个大写字母的所有单词。
例如,如果行是:此UniverSe中有SeVen行星
结果应为:SeVen和UniverSe
我可以通过将行拆分为单词来读取行,但是有些行不能使用正确的正则表达式来搜索这些单词。
以下是我使用的一个小示例,但返回false,尽管我认为应该返回true。
System.out.println(“ ThiS” .matches(“ [A-Z] {2,}”)));
任何人都可以看看这个并提出实现我的目标的方法吗?
感谢任何帮助。
谢谢,
AJ
最佳答案
[A-Z]{2,}
表示2个或更多连续的大写字母。您可以使用[A-Z].*[A-Z]
来允许任何其他字符出现在两个大写字母之间。
另外,您实际上不需要为此使用正则表达式。如果愿意,您可以遍历字符串中的每个字符并使用Character.isUpperCase
并计算匹配字符的数量。