一、 常見語法—— 對元字符的轉義( \ )
反斜杠 \
在正則表達式中有多種用途。
比如,我們要在下面的文本中搜索 所有點前面的字符串,也包含點本身
蘋果.是綠色的
橙子.是橙色的
香蕉.是黃色的
如果,我們這樣寫正則表達式 .*.
, 聰明的你肯定發現不對勁。
因為 點 是一個 元字符, 直接出現在正則表達式中,表示匹配任意的單個字符, 不能表示 . 這個字符本身的意思了。
怎么辦呢?
如果我們要搜索的內容本身就包含元字符,就可以使用 反斜杠進行轉義。
這里我們就應用使用這樣的表達式: .*\.
示例,Python程序如下
import re content = ''' 蘋果.是綠色的 橙子.是橙色的 香蕉.是黃色的 ''' p = re.compile(r'.*\.') for one in p.findall(content): print(one)
執行結果如下:
蘋果.
橙子.
香蕉.
Process finished with exit code 0
匹配某種字符類型
反斜杠后面接一些字符,表示匹配 某種類型
的一個字符。
比如:
\d 匹配0-9之間任意一個數字字符,等價於表達式 [0-9]
\D 匹配任意一個不是0-9之間的數字字符,等價於表達式 [^0-9]
\s 匹配任意一個空白字符,包括 空格、tab、換行符等,等價於表達式 [\t\n\r\f\v]
\S 匹配任意一個非空白字符,等價於表達式 [^ \t\n\r\f\v]
\w 匹配任意一個文字字符,包括大小寫字母、數字、下划線,等價於表達式 [a-zA-Z0-9_]
缺省情況也包括 Unicode文字字符,如果指定 ASCII 碼標記,則只包括ASCII字母
\W 匹配任意一個非文字字符,等價於表達式 [^a-zA-Z0-9_]
反斜杠也可以用在方括號里面,比如 [\s,.] 表示匹配 : 任何空白字符, 或者逗號,或者點;
1、\d 匹配0-9之間任意一個數字字符,等價於表達式 [0-9]
2、\D 匹配任意一個不是0-9之間的數字字符,等價於表達式 [^0-9]
3、\s 匹配任意一個空白字符,包括 空格、tab、換行符等,等價於表達式 [\t\n\r\f\v]
4、\S 匹配任意一個非空白字符,等價於表達式 [^ \t\n\r\f\v]
5、\w 匹配任意一個文字字符,包括大小寫字母、數字、下划線,等價於表達式 [a-zA-Z0-9_]
缺省情況也包括 Unicode文字字符,如果指定 ASCII 碼標記,則只包括ASCII字母
6、\W 匹配任意一個非文字字符,等價於表達式 [^a-zA-Z0-9_]
7、反斜杠也可以用在方括號里面,比如 [\s,.] 表示匹配 : 任何空白字符, 或者逗號,或者點;