java中正则表达式如何查找类似于这样的字符串

我想写一个正则表达式,这是开头[A-Z][99],其实我想输出的是在99前面的
字符串,不想在输出的时候输出99,因为99同时也是字符串开头部分的一部分,这
么做会导致匹配不完整
应该怎么修改呢,结尾应该是在99前面的大写字母,而不是大写字母+99,怎样才
能写出带有排除性质的字符串呢

3个回答

() 表示分组

 public static void main(String[] args) {
        Pattern pattern = Pattern.compile("([A-Z]{1,})[99]");
        Matcher matcher = pattern.matcher("ABC99");
        if (matcher.find())
            System.out.println(matcher.group(1));// ABC
    }
ahuxi
ahuxi 谢谢啦
3 年多之前 回复
 public class Test01 {
    public static void main(String[] args) {
        String reg = "99[A-Z]*";
        String str = "99SFGASD";
        String s = "dsafj";
        boolean a = str.matches(reg);
        System.out.println(a);
        boolean b = s.matches(reg);
        System.out.println(b);
    }
}

java是全匹配的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐