zoukankan      html  css  js  c++  java
  • 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 :占有的,一次读取最多个数,不会回吐一个

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

  • 相关阅读:
    bzoj4183: tree
    bzoj4389: ZYB and Trees
    bzoj3253: 改编
    uoj#274. 【清华集训2016】温暖会指引我们前行
    uoj#272. 【清华集训2016】石家庄的工人阶级队伍比较坚强
    uoj#11. 【UTR #1】ydc的大树
    uoj#29. 【IOI2014】Holiday
    uoj#187. 【UR #13】Ernd
    bzoj5019: [Snoi2017]遗失的答案
    bzoj5017: [Snoi2017]炸弹
  • 原文地址:https://www.cnblogs.com/java888/p/10418505.html
Copyright © 2011-2022 走看看