zoukankan      html  css  js  c++  java
  • Java四个常用正则表达

     1.查询
       以下是代码片段:

    String str="abc efg ABC";
    String regEx="a|f"; //表示a或f
    Pattern p=Pattern.compile(regEx);
    Matcher m=p.matcher(str);
    boolean rs=m.find();

       如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);

    2.提取
        以下是代码片段:
    String regEx = ".+(.+)";
    String str = "c:dir1dir2name.txt";
    Pattern p = Pattern.compile(regEx);
    Matcher m = p.matcher(str);
    boolean rs = m.find();
    for (int i = 1; i <= m.groupCount(); i++) {
          System.out.println(m.group(i));
    }

    3.分割
       以下是代码片段:
    String regEx="::";
    Pattern p=Pattern.compile(regEx);
    String[] r=p.split("xd::abc::cde");
         执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法:
    String str="xd::abc::cde";
    String[] r=str.split("::");

    4.替换
         以下是代码片段:
    String regEx="a+"; //表示一个或多个a
    Pattern p=Pattern.compile(regEx);
    Matcher m=p.matcher("aaabbced a ccdeaa");
    String s=m.replaceAll("A");
        结果为"Abbced A ccdeA".
    如果写成空串,既可达到删除的功能,比如:
    String s=m.replaceAll("");
        结果为"bbced ccde".
        附:
    D 等于 [^0-9] 非数字 
    s 等于 [  x0Bf ] 空白字元 
    S 等于 [^  x0Bf ] 非空白字元 
    w 等于 [a-zA-Z_0-9] 数字或是英文字 
    W 等于 [^a-zA-Z_0-9] 非数字与英文字 
    ^ 表示每行的开头
  • 相关阅读:
    详解股票买卖算法的最优解(一)
    Broker的主从架构是怎么实现的?
    和同事谈谈Flood Fill 算法
    聊一聊RocketMQ的注册中心NameServer
    你懂RocketMQ 的架构原理吗?
    常见的消息中间件有哪些?你们是怎么进行技术选型的?
    什么是消息中间件?主要作用是什么?
    @staticmethod
    Pandas 简介
    pytorch 不同版本对应的cuda
  • 原文地址:https://www.cnblogs.com/fclbky/p/6268167.html
Copyright © 2011-2022 走看看