zoukankan      html  css  js  c++  java
  • Java正则表达式

    一.Java中的正则表达式的一些特点

    1.java中 \ 表示正则表达式,所以^d+(.d+)?,可以匹配的实例:"5", "1.5" 和 "2.21"。但在程序中要写成 ^\d+(\.\d+)?

    2.普通的反斜线表示为:\\

      

    二.String内建的正则表达式功能

      1.boolean matches(String regex)  检验这个字符串是否匹配给定的regex(正则表达式)

    例:

    System.out.println( "+911".matches("-|\+)?\d+) )    //true

      2. String[] split(String regex)                字符串分割

       String[] split(String regex, int limit)

      3.替换

      String replaceFirst(String regex,String replacement)

      String replaceAll(String regex,String replacement)

    三.Pattern和Matcher

    Pattern:模式  Matcher:匹配器(引擎)

    习惯用法:

    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(text);

    得到Matcher对象后,使用Matcher上的方法,我们能够判断各种不同类型的匹配是否成功

    boolean matches()
    boolean lookingAt()
    boolean find()
    boolean find(int start)
    int start()
    int end()

    四.正则表达式语法

                        字符

    B 指定字符B
     xhh 十六进制值为oxhh的字符 
     uhhhh 十六进制表示为oxhhhh的Unicode字符 
      制表符Tab 
      换行符 
      回车 
     f 换页 
     e 转义(Escape) 

    字符类

    . 任意字符
    [abc] 包含a,b和c的任何字符(和a|b|c作用相同)
    [^abc] 除了a,b和c之外的任何字符(否定)
    [a-zA-Z] 从a到z或从A到Z的任何字符(范围)
    [abc[hij]] 任意a,b,c,h,i和j字符(与a|b|c|h|i|j作用相同)(合并)
    [a-z&&[hij]] 任意h,i或j(交)
    s 空白符(空格,tab,换行,换页和回车)
    S 非空白符([^s])
    d 数字[0-9]
    D 非数字[^0-9]
    w 单词字符[a-zA-Z0-9_]
    W 非单词字符[a-zA-Z0-9_]

    逻辑操作符

    XY Y跟在X后面
    X|Y X或Y
    (X) 捕获组(capturing group) 可以在表达式中用i引用第i个捕获组

    边界匹配符

    ^ 一行的起始
    $ 一行的结束
     词的边界
    B 非词的边界
    G 前一个匹配的结束

    量词

    贪婪模式 饥饿模式 独占模式  
    X? X?? X?+ 匹配0或1次
    X* X*? X*+ 匹配0或多次
    X+ X+? X++ 匹配1或多次
    X{n} X{n}? X{n}+ 匹配n次
    X{n,} X{n,}? X{n,}+ 匹配最少n次
    X{n, m} X{n, m}? X{n, m}+ 匹配最少n次,最多m次
  • 相关阅读:
    标准Gitlab命令行操作指导
    ssh登录巨慢加速验证
    ssh远程主机执行命令或脚本
    ssh创建与添加密钥开启免密登陆 免确认机器指纹参数
    linux免密传输文件 nc
    Linux 查看实时网卡流量的方法 网速 nload sar iftop dstat
    Mysql 常用命令
    Redis 常用命令整理
    shell sed -i 指定内容追加.
    java 复制指定目录中的所有文件和文件夹到另一个指定文件夹中
  • 原文地址:https://www.cnblogs.com/midiyu/p/8179280.html
Copyright © 2011-2022 走看看