• 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次
  • 相关阅读:
    nginx转发域名小记
    简化kubernetes应用部署工具之Helm应用部署
    docker-compose的使用
    使用二进制包安装k8s
    搭建k8s(一)
    linux环境下安装使用selenium Chrome
    常用User-Agent大全
    缓存之Memcache
    git-commit Angular规范
    Kubernetes介绍及基本概念
  • 原文地址:https://www.cnblogs.com/midiyu/p/8179280.html
Copyright © 2020-2023  润新知