java正则表达式知识点总结

本文深入探讨了Java中的正则表达式,包括如何使用`Pattern`和`Matcher`类进行字符串匹配,以及各种正则表达式符号和数量词的应用。通过实例展示了如何判断字符串是否符合特定模式,如字母、数字、特定字符组合等,并介绍了正则表达式的转义字符和数量词的使用技巧。
摘要由CSDN通过智能技术生成

搜索 匹配 分割 替换 regex

Pattern

  public static void main(String[] args) {
        String str="abc";
        //判断一个字符串是否是"abc"
        System.out.println(str.equals("abc"));
        //产生正则对象
        Pattern p=Pattern.compile("abc");
        //匹配器,将正则对象和实际对象进行匹配
        Matcher m=p.matcher(str);
        //进行判断
        boolean b=m.matches();
        System.out.println(b);

        //字符串由三个字符组成,第一个是abc中一个,第二个是l/m/n一个
        //第三个是hijk的一个
        Pattern p1=Pattern.compile("[abc][lmn][hijk]");
        Matcher m1=p1.matcher(str);
        System.out.println(m1.matches());
        //简化
        System.out.println(str.matches("[abc][lmn][hijk]"));
        //匹配由一个字母组成的字符串
        System.out.println(str.matches("[a-zA-Z]"));
        //匹配由一个数字组成的字符串
        System.out.println(str.matches("[0-9]"));
        //匹配由一个字符组成的字符串,不包括a/b/c
        //[^ ]表示除了这些以外的其他字符
        System.out.println(str.matches("[^abc]"));
        //匹配以数字开头的由两个字符组成的字符串
        //。通配符表示任意字符
        System.out.println(str.matches("[0-9]."));
        //匹配 .
        //\\.先有java进行转义,转义为\.然后再由正则进行转义,转义为.
        System.out.println(str.matches("\\."));
        //匹配\
        //先由java进行转义,转义为\\然后再由正则进行转义,转义为\
        System.out.println(str.matches("\\\\"));
        
    }
. 任何字符

\d 数字[0-9]

\D 非数字

\s 空白字符

\S 非空白字符

\w 单词字符【字母数字下划线】

\W 非单词字符

public static void main(String[] args) {
        String str="";
        //数量词-----每一个字符之后最多有一个数量词
        //匹配由数字开头的字符串
        //*表示之前的这个字符可以出现可以不出现>=0
        System.out.println(str.matches("\\d.*"));
        //匹配由数字开头至少有2个字符的字符串
        //+ 表示之前的这个字符至少出现一次 >=1
        System.out.println(str.matches("\\d.+"));
        //匹配由数字开头至多有2个字符的字符串
        //? 之前的这个字符至多出现一次 <=1
        System.out.println(str.matches("\\d.?"));
    }
数量词

x? <=1

x* >=0

x+ >=1

x{n} 恰好n次

x{n,} >=n

x{n.m} [n,m]

String str="";
        //匹配由字母组成的长度为5的字符串
        //{n}表示之前的这个字符出现n次==n
        //{1,} -> +
        //{0,} ->*
        System.out.println(str.matches("[a-zA-Z]{5}"));
        //匹配长度为6-12的字符串
        System.out.println(str.matches(".{6,12}"));
public static void main(String[] args) {
        String str="";
        //输入一个字符串,判断这个字符串是否表示一个小数
        System.out.println(str.matches("0\\.\\d+")||str.matches("[1-9]\\d*\\.\\d+"));
        //输入一个字符串作为密码,判断这个密码是否合法,8-12位,
        // 小写字母大写字母数字空格,至少出现两种
        System.out.println(str.matches(""));


    }
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值