python 正则search 所有_python之路----正则re(search,match,findall……)
關于python中非常強大的模塊之一-----re模塊,筆者也還只是一個初學者,記錄一下關于re下的各個子模塊是初步使用。
這里我就不介紹匹配語法了,說一說小括號(值|值)在幾個常用模塊中的作用(因為遇到了相關問題)。
importre
a= 'python Python CDpython CDPython'result= re.search(r'(P|p)ython',a)
#運行結果
通過以上結果,返回的結果是一個Match類,其中match為匹配結果,我們可以通過group()模塊來提取我們的結果,而且可以看到只返回了一個匹配結果,這是search的的匹配方式,開始遍歷字符串,遇到匹配值直接返回。
importre
a = 'python Python CDpython CDPython'result = re.search(r'(P|p)ython',a)
#運行結果
['p', 'P', 'p', 'P']
很奇怪findall為什么只返回了幾個字母,按照常理來說,不應該返回Python或者python嗎?其實這就是findall與search等其他模塊不一樣的地方,首先findall返回的是一個列表,search和match返回的是一個Match類,之后,findall中的小括號是來定義具體匹配結果邊界,也就是findall返回的是小括號中的匹配對象,而不是整個單引號中的。
match與search又有一點點不同:
importre
a= 'abcpython Python CDpython CDPython'result= re.search(r'(P|p)ython',a)
#運行結果
result1 = re.match(r'(P|p)ython',a)
print(result1)
#運行結果
None
match是從字符串的第一個字符就開始匹配,第一個字符不符合就直接跳出匹配,所以此處的匹配結果是None。
其他的待筆者遇到并處理了在更新吧!
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python 正则search 所有_python之路----正则re(search,match,findall……)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: wifi协议栈_一文读懂米家部分智能硬件
- 下一篇: 如何切换默认python版本_Debia