ahuxi
ahuxi
采纳率77.8%
2016-11-05 14:30

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

已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • guwei4037 极简吧 5年前

    () 表示分组

     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
        }
    
    点赞 1 评论 复制链接分享
  • helloJay1995 HelloJay1995 5年前
     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是全匹配的

    点赞 评论 复制链接分享
  • csdn9_14 JungangChen 5年前
    点赞 评论 复制链接分享