Python基礎最難知識點:正則表達式(使用步驟)
前言
本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。
正則表達式,簡稱regex,是文本模式的描述方法。你可以在google上搜索regex或者regexp獲得非常多的學習資料。這篇短文介紹在python腳本中使用正則表達式的步驟:
1、導入re模組
Python中所有正則表達式的函數都在re模組中,可以在互動式環境或者腳本文件中輸入以下程式碼。導入該模組:
import re
2、創建正則表達式對象
向re.compile()傳入一個表示正則表達式的字元串值,它將返回一個Regex對象。例如要創建一個Regex對象來匹配電話號碼模式,可以輸入以下程式碼:
phoneMatch = phoneNumRegex.search(』My number is415-555-4242』)
此時phoneNumRegex就包含了一個Regex對象
3、匹配Regex對象
Regex對象中的search()方法查找傳入的字元串,尋找該正則表達式的所有匹配。
phoneMatch = phoneNumRegex.search(』My number is415-555-4242』)
如果字元串中沒有找到該正則表達式模式,則search()方法返回None。如果找到該模式則返回一個Match對象。Match有一個group()方法,返回被查找的字元串中實際匹配的文本:
print(『Phone number found :』+phoneMatch.group())
將期待的模式傳遞給 re.compile(), 並將得到的 Regex對象保存在phoneNumRegex 中。然後我們在 phoneNumRegex上調用 search(), 向它傳入想查找的字元串。查找的結果保存在變數phoneMatch中。模式在這個字元串中找到,所以會返回一個 Match對象。我們就可以在phoneMatch變數上調用 group(), 返回匹配的結果, 顯示出完整的匹配,即415-555-4242。
import re phoneNumRegex = re.compile(r'\d\d\d-\d\d\d-\d\d\d\d') phoneMatch = phoneNumRegex.search('My number is415-555-4242') print('Phone number found :'+phoneMatch.group()) 輸出: //Phonenumber found :415-555-4242
總結一下:在 Python中使用正則表達式有幾個步驟,但每一步都相當簡單。
1.用 import re 導入正則表達式模組。
2.用 re.compile()函數創建一個 Regex對象(記得使用原始字元串)。
3.向 Regex對象的 search()方法傳入想查找的字元串。它返回一個Match 對象。
4.調用 Match對象的 group()方法,返回實際匹配文本的字元串