java中的正则表达式

本文详细介绍了正则表达式的各种用法,包括单个字符匹配、字符集、数量控制、边界判断、逻辑运算等。通过实例展示了如何匹配特定字符串、如何设置字符出现次数,以及如何使用边界和逻辑运算符。同时,还讲解了如何捕获和替换信息。正则表达式是编程中处理字符串的强大工具,对于字符串的查找、替换和验证至关重要。
摘要由CSDN通过智能技术生成

正则表达式

1、单个字符

  • . 匹配单个字符

    regex = "ja.a";    // .  表示任意字符一个
    System.out.println("java".matches(regex));   //true
    
  • [ ] : 表示匹配括号内的任意一个字符

    regex = "[123]";   //表示括号中的任意一个;
    System.out.println("1".matches(regex));   //true
    System.out.println("2".matches(regex));   //true
    System.out.println("3".matches(regex));   //true
    
    regex = "[a-z]";  //表示 a - z 中的任意一个字符
    System.out.println("b".matches(regex));  //true
    System.out.println("3".matches(regex));  //false
    
    regex = "[a-zA-Z0-9]";  //表示
    System.out.println("2".matches(regex));  //true;
    
    regex = "[a-d[m-p]]";  //a - d   或 m - p;
    
    regex = "[a - z && [^bc]]";   //不是bc的小写字母;
    
    regex = "[a - z && [^m - p]]";  //不是m-p的所有字符
    
    regex = "[\\u4e00  - \\u9FA5]";  //汉子
    
  • [^ ] : 表示匹配除括号内的任意一个字符

    regex = "[^123]";   //表示123以外的任意一个字符;
    System.out.println("4".matches(regex));   //false
    
  • \d:表示匹配数字

    regex = "\\d";   //表示数字0 - 9;
    System.out.println("4".matches(regex));   //true
    
  • \D:表示匹配非数字

    regex = "\\D";   //表示非数字
    System.out.println("4".matches(regex));   //false
    
  • \w :表示匹配数字,字母,下划线

    regex = "\\w";   //单词字符  [A - Z,  a - z  , 0 - 9 ,  _ ]
    System.out.println("4".matches(regex));   //true
    
  • \W:表示匹配处理数字,字母下划线以外的字符;

  • \s:表示匹配空白字符

  • \S:表示匹配非空白字符

2、数量

String regex = "a{3}";  //出现的次数3个a;

regex = "a{1,}";   //最少出现一次;

regex = "a{0,4}";  //a出现 0 - 4次;只有a字符

regex = "a{0,}";  // 0个或多个

regex = "a*";  //表示0个或多个

regex = "a?";  //表示0个或一个

regex = "a+";   //一个或多个

3、边界

  • ^ 一行的开始
  • $一行的结束
  • \b : 词的边界
  • \B;非单词边界匹配

4、逻辑运算

  • x|y:匹配x或y

    String regex = "a|b";
    System.out.println("a".matches(regex));   //true;
    System.out.println("b".matches(regex));   //true;
    System.out.println("ab".matches(regex));   //false;
    
  • XY:表示Y在x后,并且XY同时出现

  • ():表示捕获,用$来使用

    String tip = "1.注册学生" +
        "2.删除" +
        "3.修改" +
        "4.打印" +
        "0.退出";
    String regex = "(\\B\\d\\.)";   //捕获;将替换的信息捕获
    System.out.println(tip.replaceAll(regex,"\n$0"));
    
    
    //结果为:
        1.注册学生
        2.删除
        3.修改
        4.打印
        0.退出
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值