Python基礎最難知識點:正則表達式(使用步驟)

前言

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。

正則表達式,簡稱regex,是文本模式的描述方法。你可以在google上搜索regex或者regexp獲得非常多的學習資料。這篇短文介紹在python腳本中使用正則表達式的步驟:

Python基礎最難知識點:正則表達式(使用步驟)

 

1、導入re模組

Python中所有正則表達式的函數都在re模組中,可以在互動式環境或者腳本文件中輸入以下程式碼。導入該模組:

import re

 

2、創建正則表達式對象

向re.compile()傳入一個表示正則表達式的字元串值,它將返回一個Regex對象。例如要創建一個Regex對象來匹配電話號碼模式,可以輸入以下程式碼:

phoneMatch = phoneNumRegex.search(』My number is415-555-4242』)

 

此時phoneNumRegex就包含了一個Regex對象

Python基礎最難知識點:正則表達式(使用步驟)

 

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基礎最難知識點:正則表達式(使用步驟)

 

總結一下:在 Python中使用正則表達式有幾個步驟,但每一步都相當簡單。

1.用 import re 導入正則表達式模組。

2.用 re.compile()函數創建一個 Regex對象(記得使用原始字元串)。

3.向 Regex對象的 search()方法傳入想查找的字元串。它返回一個Match 對象。

4.調用 Match對象的 group()方法,返回實際匹配文本的字元串

 

Tags: