• 正则表达式


    正则表达式

    一:了解

    • 在Java中 "\"表示“我要插入一个正则表达式的反斜线,所以其后的字符具有特殊意义”。
    • 如果想插入一个普通的反斜线,则应该这样"\\",不过制表符和换行符之类的东西只需要使用单反斜线: 、 .
    • ?:可以表示可能的情况。比如 -?表示可能有一个负号在最前面(也可能没有,但不能出现+开头)

    二:基础

    1. 字符

    字符字符
    B 指定字符B
    xhh 十六进制为0xhh的字符
    uhhhh 十六进制为0xhhhh的Unicode字符
    制表符Tab
    换行符
    回车
    f 换页
    e z转义

    2. 字符类

      
    . (小圆点) 任意字符
    [abc] 同a
    [^abc] 除了abc之外的任何字符
    [a-zA-Z] 从a-z或从A-Z的任何字符
    [abc[hij]] 同a
    [a-z&&[hij]] 任意hi或j
    s 空白符(空格、tab、换行符、换页、回车)
    S 非空白符同[^s]
    d 数字[0-9]
    D 非数字[^0-9]
    w 词字符[a-zA-Z0-9]
    W  

    3. 逻辑操作符

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

    4. 边界匹配符

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

    5. 量词

    • 贪婪型:为所有可能的模式发现更多的匹配。若模式只能匹配到第一个可能的字符组,因为它是贪婪的,所以会继续向下匹配。
    • 勉强型:用问号来指定用于匹配满足模式所需的最少字符数。(最少匹配的、非贪婪的)
    • 占有型:用于防止正则表达式失控

    .

    注意:X必须用()括起来

    贪婪型勉强型占有型如何匹配
    X? X?? X?+ 零个或一个X
    X* X*? X*+ 零个或多个X
    X+ X+? X++ 一个或多个X
    X{n} X{n}? X{n}+ 恰好n次X
    X{n,} X{n,}? X{n,}+ 至少n次X
    X{n,m} X{n,m}? X{n,m}+ X至少n次,且不超过m次
  • 相关阅读:
    Codeforces Round #370 (Div. 2)
    Codeforces Round #425 (Div. 2)
    变量调节器
    Smarty基础
    流程
    iframe 内联框架
    权限:改变权限
    权限:查找
    html 框架
    Jcrop+uploadify+php实现上传头像预览裁剪
  • 原文地址:https://www.cnblogs.com/0427mybirthday/p/7668926.html
Copyright © 2020-2023  润新知