一、正則表達式基礎語法
Python正則表達式是一種強大的工具,用於在文本中查找,識別和替換特定的模式。一個正則表達式可以包含字元,數字和特殊字元,如點、星號、加號、問號和括弧等。正則表達式的基礎語法包括:
import re
# 匹配單個字元
pattern = r"hello"
result1 = re.match(pattern, "hello world")
result2 = re.match(pattern, "hello cat")
result3 = re.match(pattern, "helloworld")
if result1:
print(result1.group())
else:
print("匹配失敗")
以上代碼展示了使用正則表達式匹配單個字元的基本語法,其中”r”表示字元串是raw string,即原始字元串,不需要轉義特殊字元。
另外,正則表達式中的”.”可以匹配除換行符外的任何一個字元,”*”表示匹配前面的字元0次或多次,”+”表示匹配前面的字元1次或多次,”?”表示匹配前面的字元0次或1次,”()”用於設置匹配的範圍等等。
二、常用正則表達式實例
實際應用中,我們需要用到不同的正則表達式來匹配不同的模式。下面是一些常見的正則表達式實例:
1. 郵箱地址:
import re
pattern = r'\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*'
string = "myemail@example.com"
result = re.match(pattern, string)
if result:
print("匹配成功")
else:
print("匹配失敗")
以上代碼演示了使用正則表達式判斷郵箱地址格式是否正確。其中,”\w”表示匹配字元或數字,”+”表示匹配前面的字元1次或多次,”()”和”*”用於設定匹配的範圍。
2. IP地址:
import re
pattern = r'^((([0-9]{1,2})|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))\.){3}(([0-9]{1,2})|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))$'
string = "192.168.0.1"
result = re.match(pattern, string)
if result:
print("匹配成功")
else:
print("匹配失敗")
以上代碼演示了使用正則表達式判斷IP地址格式是否正確。其中”^”表示開始匹配,”$”表示結束匹配,”|”表示或,”[]”表示匹配字元的範圍。
3. URL地址:
import re
pattern = r'^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+'
string = "https://www.example.com"
result = re.match(pattern, string)
if result:
print("匹配成功")
else:
print("匹配失敗")
以上代碼演示了使用正則表達式判斷URL地址是否正確。其中”:\/\/”表示轉義字元”//”,”[]”和”+”表示匹配字元的範圍和次數。
三、替換字元串中的模式
除了匹配字元串中的模式,正則表達式還可以替換字元串中的一部分模式。下面是一個簡單的替換實例:
import re
pattern = r"(\d{4})-(\d{2})-(\d{2})"
string = "2022-10-10"
result = re.sub(pattern, r"\2/\3/\1", string)
print(result)
以上代碼演示了使用正則表達式將日期格式(YYYY-MM-DD)中的”-“替換為”/”,並且將”年月日”順序換成”月日年”順序。
四、總結
Python正則表達式是一種非常強大的工具,可以用於文本搜索、替換、過濾和分析等。本文介紹了正則表達式的基礎語法,以及常見的實例和替換方法。學會了正則表達式的基礎知識和常用方法,可以大大提高字元串操作的效率。
原創文章,作者:FJUV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/138234.html