java - 如何匹配任意数量的大写字母?

标签 java regex

public static void main(String[] args) {
    Pattern p = Pattern.compile("[A-Z]*");
    Matcher matcher = p.matcher("CSE");
    System.out.println(matcher.group());
}

为什么上面的代码引发 java.lang.IllegalStateException ?如何匹配任意数量的大写字母?

最佳答案

您需要调用Matcher.find() 来启动正则表达式匹配过程。

public static void main(String[] args)
{
    Pattern p = Pattern.compile("[A-Z]*");
    Matcher matcher = p.matcher("CSE");
    while (matcher.find()) {
        System.out.println(matcher.group());
    }
}

关于java - 如何匹配任意数量的大写字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444580/

相关文章:

java - 使用 @Asynchronous 方法对 SWF 进行单元测试

java - 由 : org. springframework.data.mapping.PropertyReferenceException: No property findAll found for type User - Redis 引起

javascript - 正则表达式 - 查找所有以 $_ 开头且位于模板字符串之间任意位置的单词

javascript - 从字符串中删除特殊字符(如果它们单独存在且不属于单词的一部分)

正则表达式捕获组嵌套

java - 数字格式类

java - servlet 中的 xpath 查询给出异常

java - 在 java 中将 double 分成两部分 "integer & fraction"的最佳方法是什么

java - 正则表达式模式未断言 true

python - 一个短语中多个换行符的正则表达式