• JAVA之正则表达式


    正则表达式:处理字符串的利器
    一个正则表达式就是由普通的字符例如字符( a 到 z)以及特殊字符(元字符)组成的文字模式


    API:
    String
    Pattern:正则表达式的编译表示形式。
    Matcher:匹配器

    Pattern:
    static Pattern compile(String regex) : 根据正则表达式创建,正则表达式对象
    Matcher matcher(String str) :根据需要判断的字符串 返回一个对应的匹配器

    Matcher:
    boolean find():
    尝试查找与该模式匹配的输入序列的下一个子序列

    String group() 返回由以前匹配操作所匹配的输入子序列。

    boolean lookingAt() 尝试将从区域开头开始的输入序列与该模式匹配

    replaceAll(String replacement) :将与正则表达式匹配的子序列替换成指定字符

    ------------------------------------------

    Greedy 数量词
    X? X,一次或一次也没有
    X* X,零次或多次
    X+ X,一次或多次
    X{n} X,恰好 n
    X{n,} X,至少 n
    X{n,m} X,至少 n 次,但是不超过 m

    Greedy,贪婪的,一次读取最多个数,不符合,回吐一个

    Reluctant 数量词
    X?? X,一次或一次也没有
    X*? X,零次或多次
    X+? X,一次或多次
    X{n}? X,恰好 n
    X{n,}? X,至少 n
    X{n,m}?

    X,至少 n 次,但是不超过 m

    Reluctant:勉强的 ,一次读取最少个数,不符合,再读一个

    Possessive 数量词
    X?+ X,一次或一次也没有
    X*+ X,零次或多次
    X++ X,一次或多次
    X{n}+ X,恰好 n
    X{n,}+ X,至少 n
    X{n,m}+ X,至少 n 次,但是不超过 m

    Possessive :占有的,一次读取最多个数,不会回吐一个

    量词的区别会导致匹配的结果不同

  • 相关阅读:
    飞思卡尔单片机CAN模块的物理特性的示波器观察
    飞思卡尔CAN模块关于ID和mask的使用
    基本数据库语句
    深入分析Spring 与 Spring MVC容器
    Linux常用命令大全
    datagrid行内编辑时为datetimebox
    SVN上拖下来的项目,缺少build path怎么办?
    sql中的in与not in,exists与not exists的区别
    Spring中@Component的作用
    浅谈@RequestMapping @ResponseBody 和 @RequestBody 注解的用法与区别
  • 原文地址:https://www.cnblogs.com/java888/p/10418505.html
Copyright © 2020-2023  润新知