在 Python 初探正規表達式
前言
在先前的 在 JavaScript 初探正規表達式 裡使用正規表達式,想了一下 Python 也是預設就支援正規表達式,所以就順便做個學習,在此做個紀錄。
內容
範例如下
import re str = 'xxxabbc,xxxabc' failedStr = 'failed string' regEx = re.compile( 'ab*c' ) print( regEx.search( str ).span() )#(3, 7) #check is match? res = regEx.search( failedStr ) if res is not None: print('Match') else: print('Not match') # print( regEx.findall( str ) )#['abbc', 'abc']
要在 Python 使用正規表達式需要透過 re 模組,透過 re.compile() 可以做出像 JavaScript 的 RegExp 一樣的類別,但這次不需要在字尾加'g',透過類別的 search() 可以取得比對的結果,但要注意回傳的是一個類別,利用回傳的類別的 span() 可以得到各個結果的起始位址,這裡有個不太直覺的地方, search() 在當沒有任何結果符合狀況時會回傳 None ,所以直接 search() 完喚起 span() 其實是有危險的!最後可以透過 findall() 來取得所有符合的結果,這裡回傳的就是陣列,就算沒有符合的結果也會回傳空陣列,可以安心使用。
參考資料
[ www.runoob.com ] Python 正则表达式
沒有留言:
張貼留言