一、正則表達式基礎語法
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-hant/n/138234.html