1. 程式人生 > 實用技巧 >Python基礎最難知識點:正則表示式(使用步驟)

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()方法,返回實際匹配文字的字串