python正則表達式(. *)(一)


1.正則表達式在線驗證工具:https://regex101.com/

2.常見語法:

寫在正則表達式里面的普通字符都是表示:直接匹配它們。

比如 你下面的文本中,如果你要找所有的test,正則表達式就非常簡單,直接輸入test即可:

漢字也是一樣,要尋找漢字,直接寫正則表達式里面就可以了

但是有些特殊字符,術語叫metacharacters(元字符)

它們出現在正則表達式字符串中,不是表示直接匹配他們,而是表達一些特別的含義,這些特殊的元字符包括下面這些:

^ $ . * + ? = ! : | \ / ( ) [ ] { }

我們分別介紹一下它們的含義:

點—匹配所有字符

. 表示要匹配除了 換行符 之外的 單個 字符

比如,你要從下面的文本中,選擇所有的顏色

蘋果是綠色的
橙子是橙色的
香蕉是黃色的
烏鴉是黑色的

 也就是要找到所有以 色 結尾,並且包括前面的一個字符的詞語

就可以這樣寫正則表達式  .色

其中點代表了任意的一個字符,注意是一個字符

.色 合起來就表示要找任意一個字符后面是 色 這個字,合起來兩個字的字符串

 

只要表達式正確,就可以寫在python代碼中,如下所示

content="蘋果是綠色的
橙子是橙色的
香蕉是黃色的
烏鴉是黑色的"
import re
p=re.compile(r'.色')
for one in p.findall(content):
    print(one)

'''
運行結果如下:
綠色
橙色
黃色
黑色 

 星號-重復匹配任意次

*表示匹配前面的子表達式任意次,包括0次

比如,你要從下面的文本中,選擇每行逗號后面的字符串內容,包括逗號本身,注意,這里的逗號是中文的逗號

蘋果,是綠色的
橙子,是橙色的
香蕉,是黃色的
烏鴉,是黑色的
猴子,

就可以這樣寫正則表達式  ,.*

* 緊跟在 . 后面,表示任意字符可以出現任意次,所以整個表達式的意思就是在逗號后面的所有字符,包括逗號

 

 

特別是最后一行,猴子逗號后面沒有其他字符了,但是*表示可以匹配0次,所有表達式也是成立的

只要表達式正確,就可以寫在python代碼中,如下所示

content="蘋果,是綠色的
橙子,是橙色的
香蕉,是黃色的
烏鴉,是黑色的
猴子,"'
import re
p=re.compile(r' ,.*')
for one in p.findall(content):
    print(one)

'''
運行結果如下:
,是綠色的
,是橙色的
,是黃色的
,是黑色的
, 
'''

 注意, .*在正則表達式中非常常見,表示匹配任意字符任意次數

當然這個*前面不是非得是點,也可以是其它字符,比如


免責聲明!

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



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