008、【byhy】 常見語法—— 對元字符的轉義( \ )


 

 

一、 常見語法——  對元字符的轉義( \ )

反斜杠 \ 在正則表達式中有多種用途。

比如,我們要在下面的文本中搜索 所有點前面的字符串,也包含點本身

蘋果.是綠色的
橙子.是橙色的
香蕉.是黃色的

如果,我們這樣寫正則表達式 .*. , 聰明的你肯定發現不對勁。

因為 點 是一個 元字符, 直接出現在正則表達式中,表示匹配任意的單個字符, 不能表示 . 這個字符本身的意思了。

怎么辦呢?

如果我們要搜索的內容本身就包含元字符,就可以使用 反斜杠進行轉義。

這里我們就應用使用這樣的表達式: .*\.

示例,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,.] 表示匹配 : 任何空白字符, 或者逗號,或者點;

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM