2022年1月10日 星期一

在 Python 初探正規表達式

 在 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 正则表达式


相關文章與資料

在 JavaScript 初探正規表達式

沒有留言:

張貼留言