正規表示式簡介及元字元

2021-09-28 18:38:17 字數 1707 閱讀 3271

文字處理已經成為計算機的常見工作之一

對文字內容的搜尋,定位,提取是邏輯比較複雜的工作

為了快速解決上述問題,產生了正規表示式技術

定義 :

即文字的高階匹配模式,提供搜尋,替代等功能。其本質是一系列由特殊符號組成的字串,這個字串即正規表示式。

匹配原理 :

由普通字元和特殊符號組成字串,通過描述字元的重複和位置等行為,達到匹配某一類字串的目的

目標 :

熟練掌握正規表示式符號

實現基本的文字搜尋,定位,提取,理解正則用法

能夠適用re模組操作正規表示式

特點:1. 普通字元

a 每個字元匹配對應的字元

2. 或

| 匹配 | 兩邊任意乙個正規表示式

3. 匹配單個字元

. 匹配除換行外的任意字元

4. 匹配開始位置

^ 匹配目標字串的開頭位置

5. 匹配結束位置

$ 匹配字串的結束位置

6. 匹配重複

* 匹配前面的字元出現0次或多次

7. 匹配重複

+ 匹配前面的字元出現1次或多次

8. 匹配重複

? 匹配前面的字元出現0次或1次

9. 匹配重複

匹配指定的重複次數

10. 匹配重複

匹配前面的正規表示式 m–n次

11. 匹配字元集合

[字符集] 匹配任意乙個字符集中的字元

12. 匹配字符集

[^…] 字符集取非,除列出的字元之外任意乙個字元

13. 匹配任意(非)數字字元

\d 匹配任意數字字元 [0-9]

\d 匹配任意非數字字元 [^0-9]

14. 匹配任意(非)普通字元

\w 匹配普通字元 [_0-9a-za-z] 也能匹配普通漢字

\w 匹配非普通字元

15. 匹配任意(非)空字元

\s 匹配任意空字元 [ \r\t\n\v\f]

\s 匹配任意非空字元

16. 匹配字串位置

\a 匹配字串開頭位置 ^

\z 匹配字串結尾位置 $

絕對匹配 : 正規表示式要完全匹配目標字串內容

在正規表示式開始和結束位置加上^ $ (或者\a \z)。這樣正規表示式必須匹配整個目標字串才會有結果

17. 匹配(非)單詞邊界

\b 匹配單詞邊界位置

普通字元和非普通字元交界認為是單詞邊界

\b 匹配非單詞邊界位置

元字元總結

匹配單個字元

a . \d \d \w \w

\s \s […] [^…]

匹配重複

*+ ?

匹配位置

^ $ \a \z \b \b

其他| () \

正規表示式 元字元

現在你已經知道幾個很有用的元字元了,如 b 還有 d 當然還有更多的元字元可用,比如 s 匹配任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w匹配字母或數字或下劃線或漢字等。ba w b 匹配以字母a 開頭的單詞 先是某個單詞開始處 b 然後是字母a 然後是任意數量的字母或數字 w...

正規表示式 元字元

元字元 描述.點 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾 但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如...

正規表示式元字元

l 基本元字元 元字元說明 匹配任意單個字元 邏輯或操作符 定義乙個字元集合,匹配該集合中的乙個字元 對字元集合求非 是對整個集合求非,而不是緊挨著 符號的字元 在字元集合中定義乙個區間。如 a za z 對下乙個字元轉義。比如 n表示換行。數量元字元 元字元說明 匹配前乙個字元 子表示式 零次或多...