python正则表达式(. *)(一)
1.正則表達(dá)式在線驗(yàn)證工具:https://regex101.com/
2.常見(jiàn)語(yǔ)法:
寫(xiě)在正則表達(dá)式里面的普通字符都是表示:直接匹配它們。
比如 你下面的文本中,如果你要找所有的test,正則表達(dá)式就非常簡(jiǎn)單,直接輸入test即可:
漢字也是一樣,要尋找漢字,直接寫(xiě)正則表達(dá)式里面就可以了
但是有些特殊字符,術(shù)語(yǔ)叫metacharacters(元字符)
它們出現(xiàn)在正則表達(dá)式字符串中,不是表示直接匹配他們,而是表達(dá)一些特別的含義,這些特殊的元字符包括下面這些:
^ $ . * + ? = ! : | / ( ) [ ] { }
我們分別介紹一下它們的含義:
點(diǎn)—匹配所有字符
. 表示要匹配除了 換行符 之外的 單個(gè) 字符
比如,你要從下面的文本中,選擇所有的顏色
蘋(píng)果是綠色的 橙子是橙色的 香蕉是黃色的 烏鴉是黑色的
也就是要找到所有以 色 結(jié)尾,并且包括前面的一個(gè)字符的詞語(yǔ)
就可以這樣寫(xiě)正則表達(dá)式 .色
其中點(diǎn)代表了任意的一個(gè)字符,注意是一個(gè)字符
.色 合起來(lái)就表示要找任意一個(gè)字符后面是 色 這個(gè)字,合起來(lái)兩個(gè)字的字符串
只要表達(dá)式正確,就可以寫(xiě)在python代碼中,如下所示
content="蘋(píng)果是綠色的
橙子是橙色的
香蕉是黃色的
烏鴉是黑色的"
import re
p=re.compile(r'.色')
for one in p.findall(content):
print(one)
'''
運(yùn)行結(jié)果如下:
綠色
橙色
黃色
黑色
星號(hào)-重復(fù)匹配任意次
*表示匹配前面的子表達(dá)式任意次,包括0次
比如,你要從下面的文本中,選擇每行逗號(hào)后面的字符串內(nèi)容,包括逗號(hào)本身,注意,這里的逗號(hào)是中文的逗號(hào)
蘋(píng)果,是綠色的 橙子,是橙色的 香蕉,是黃色的 烏鴉,是黑色的 猴子,
就可以這樣寫(xiě)正則表達(dá)式 ,.*
* 緊跟在 . 后面,表示任意字符可以出現(xiàn)任意次,所以整個(gè)表達(dá)式的意思就是在逗號(hào)后面的所有字符,包括逗號(hào)
特別是最后一行,猴子逗號(hào)后面沒(méi)有其他字符了,但是*表示可以匹配0次,所有表達(dá)式也是成立的
只要表達(dá)式正確,就可以寫(xiě)在python代碼中,如下所示
content="蘋(píng)果,是綠色的
橙子,是橙色的
香蕉,是黃色的
烏鴉,是黑色的
猴子,"'
import re
p=re.compile(r' ,.*')
for one in p.findall(content):
print(one)
'''
運(yùn)行結(jié)果如下:
,是綠色的
,是橙色的
,是黃色的
,是黑色的
,
'''
注意, .*在正則表達(dá)式中非常常見(jiàn),表示匹配任意字符任意次數(shù)
當(dāng)然這個(gè)*前面不是非得是點(diǎn),也可以是其它字符,比如
總結(jié)
以上是生活随笔為你收集整理的python正则表达式(. *)(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mac下JDK卸载方法
- 下一篇: 什么是微服务