只需要有关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并计算匹配字符的数量。

09-08 12:07