正则表达式

\n : 换行符(newline),另起一行,LF

\r : 回车符(return),回到一行的开头,回到一行的开头,回到一行的开头,CR

通常用的Enter是两个加起来,通常用的Enter是两个加起来,通常用的Enter是两个加起来

linux  \n  LF    Windows  \r\n  CRLF    mac  \r  CR

空白符通常包括空格( )、制表符(\t)    以及     换行符(\n)、回车符(\r)    空字符   ""    和空白符是两个概念

\  在java中代表原意  \.代表.  

字符类 : 
    [abc] :代表a或者b,或者c字符中的一个。
    [^abc]:代表除a,b,c以外的任何字符。
    [a-z] :代表a-z的所有小写字符中的一个。
    [A-Z] :代表A-Z的所有大写字符中的一个。
    [0-9] :代表0-9之间的某一个数字字符。
    [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符。
    [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符

    逻辑运算符 :
        1 && : 并且
        2 |  : 或者

 预定义字符类:

    "."  :匹配除了换行符(\n)之外的任何单个字符       ..........................................

    "\s" :空白符:
    "\S" :非空白符:[^\s] 的简写


    "\d" :任何数字[0-9]的简写
    "\D" :任何非数字[^0-9]的简写
    "\w" :单词字符:[a-zA-Z_0-9]的简写,包含_
    "\W" :非单词字符:[^\w]

    数量词 : X代表字符
        - X?    : 0次或1次
        - X*    : 0次到多次
        - X+    : 1次或多次
        - X{n}  : 恰好n次
        - X{n,} : 至少n次
        - X{n,m}: n到m次(n和m都是包含的)

表示边界

^ 匹配字符串开头
$ 匹配字符串结尾
\b 匹配一个单词的边界
\B 匹配非单词的边界

匹配分组

匹配左右任意一个表达式
(ab) 将括号中的字符作为一个分组
\num 引用分组num匹配到的字符串
(?p<name>) 分别起组名
(?p=name) 引用别名为name分组匹配到的字符串

贪婪模式

默认为贪婪模式,

  • 与贪婪相反,总是尝试匹配尽可能少的字符,可以使用"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪

分组括号 : 将要重复使用的正则用小括号括起来,当做一个小组看待,例如ababcdcd  (ab){2}(cd){2}

posted @ 2023-09-23 21:26  zouyijian  阅读(21)  评论(0)    收藏  举报