Java基础-正则表达式

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。Java基础-正则表达式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

正则表达式

  • 正则表达式是用来匹配用户的输入是否符合需求的

1,*,+,?,{n,},{n},{m,n}都是用来匹配次数的

 public static void main(String[] args) {
        String str = "javaaaaa";
        // regular expression
        // * 表示紧跟着的前面的子表达出现0次或者多次
        System.out.println(str.matches("java*"));
        // + 表示紧跟着的前面的子表达至少出现一次
        System.out.println(str.matches("java+"));
        // ? 表示紧跟着的前面的子表达出现0次或者1次
        System.out.println(str.matches("java?"));
        // {n,} 表示紧跟着的前面的子表达至少n次
        System.out.println(str.matches("java{3,}"));
        // {n} 表示紧跟着的前面的子表达出现3次
        System.out.println(str.matches("java{3}"));
        // {m,n} 表示紧跟着的前面的子表达出现m次,但是不能超过n次(可以等于n)
        System.out.println(str.matches("java{3,5}"));
    }

2,\d,.,\s,\w,

public static void main(String[] args) {
        String str = "123456_";
        // \d 与数字字符匹配
        System.out.println(str.matches("\\d{6}"));
        // .除了 \n\r不能匹配,其他都匹配
        System.out.println(str.matches(".{7}"));
        // \s 匹配任何空白字符,包括空格、制表符、换页符等。与 [ \f\n\r\t 空格] 等效。
        System.out.println(str.matches("\\d{6}\\s*"));
        // \w 匹配所有的英文单词(大小写) 数字字符 _
        System.out.println(str.matches("\\w{7}"));
    }

3,[ ]

public static void main(String[] args) {
        String str = "16234234344";
        // 与[] 里面的内容只能匹配一个
        System.out.println(str.matches("a[ace]c."));
        // ^ 把中括号种的字符都排除在外,反过来
        System.out.println(str.matches("a[^ace]c"));
        // ^以后面的子表达式开头 $表示以前面的子表达式结尾
        System.out.println(str.matches("^a[abc]c$"));
        //匹配手机号
        System.out.println(str.matches("^1[4-9]\\d{9}"));
        //23523@qq.com
        String emailStr = "234123434@sina.com";
        //匹配邮箱
        String regEx = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
        System.out.println(emailStr.matches(regEx));
    }

4,分组

public static void main(String[] args) {
        String str = "12345java";
        Pattern pattern = Pattern.compile("(\\d+)(\\w+)");
        Matcher matcher = pattern.matcher(str);
        //一定要匹配上才有分组
        if (matcher.matches()){
            //表示返回这个表达式
            System.out.println(matcher.group());
            //表示返回第一个分组的内容
            System.out.println(matcher.group(1));
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/192963.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!