正則表達式學習筆記

可視化正則表達式網站:regexper.com


1. 單字符

任何可見字符,如:字母a ~ z,數(shù)字1 ~ 9,漢字'愛'


2. 特殊字符

特殊字符 正則表達式 記憶方式
換行符 \n newline
換頁符 \f form feed
回車符 \r return
空白符 \s space
制表符 \t tab
垂直制表符 \v vertical tab
回退符 [\b] backspace 與\b(分界符) 區(qū)分

3. 元字符 / 符號

正則表達式 匹配區(qū)間 記憶方式
\d 單個數(shù)字,[0-9] digit
\D 除了[0-9] not digit
\w 包括下劃線'_'在內的單個字符,含[A-Za-z0-9] word
\W 非單字字符 not word
\s 匹配空白字符,含空格、制表符、換頁符、換行符、回車符 space
\S 匹配非空白字符 not space
. 除了換行符之外的任何字符 句號. 除了句子結束符
{min, max} 匹配字符出現(xiàn)的次數(shù) 如 \d{1,7}: 匹配1 ~7 數(shù)字,a{3}:字母a出現(xiàn)3次
[] 表示區(qū)間 如 [a-z]: 匹配a-z區(qū)間中一個元素
* 用來表示匹配0個字符或無數(shù)個字符。通常用來過濾某些可有可無的字符串 >= 0,如 a*: 匹配出現(xiàn)0個或多個字母a
+ 適用于要匹配同個字符出現(xiàn)1次或多次的情況 >= 1
? 用來匹配1個或0個字符 0/1, 如 colou?r: 匹配color 或 colour
\b
() 正則分組符號,用來包裝子正則表達式 如 (\d{1,3})@(\w)(.com)
\ 1 ('\ + 數(shù)字'形式) 指代分組1匹配的結果 如 ([^_]\w{1,5})(\1)#(dev): 分組2位置使用分組1匹配的結果作為正則匹配模式

3. 位置邊界

  • 單詞分界符:\b
    如果要匹配單詞cat,而非單詞category,則需要用到單詞邊界符:\b
    示例:/\bcat\b/

  • 字符串邊界符 :^(字符串開始) $(字符串結尾)
    示例:/^I am a dever.$/

  • 其他的:
    \B: 非單詞邊界 (not boundary)
    m: 多行匹配模式 (multiple of lines)/ok regular expression/m
    i: 忽略大小寫 (ignore case)/\w{2,6}@qq.com/i
    g: 全局匹配模式 (global)示例:/\d{1,3}#\s/g
    (?=regex): 前向查找 示例: /ap(?=ple)/ 查找apple,而非plement
    (?!regex): 非前向查找
    (?<=regex): 后向查找 示例: /(?<=ple)ment/ 查找ple但不匹配apple里的
    (?:regex): 非捕獲組


4. 邏輯處理

邏輯關系 正則元字符
默認regex間連接是與關系
豎線/
[^regex] 和 !
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容