Python中的正則表達式(regular expression),簡稱 regex,是一種強大的字符串匹配工具。Python內置了re模塊來支持正則表達式操作。正則表達式是用來匹配字符串中符合某種規律的文本的方式。
import re # 匹配電話號碼 pattern = re.compile(r'(\d{3})-(\d{3}-\d{4})') phone_str = '電話號碼:123-456-7890' match = pattern.search(phone_str) if match: print("電話號碼:", match.group()) print("區號:", match.group(1)) print("電話號:", match.group(2)) # 匹配郵箱地址 pattern = re.compile(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}') email_str = '郵箱地址:example@gmail.com' match = pattern.search(email_str) if match: print("郵箱地址:", match.group())
在上面的代碼中,我們先定義了兩個正則表達式的規則,分別用來匹配電話號碼和郵箱地址。接下來通過re模塊的compile函數將規則編譯為pattern對象,用來搜索目標字符串。在搜索目標字符串時,pattern.search方法返回第一個匹配到的子串的MatchObject對象。如果匹配成功,我們可以通過group方法提取匹配到的子串,也可以通過group(n)方法提取匹配到的子串中的第n個子串。
正則表達式中的特殊符號有很多,包括. * + ? ^ $ | \ ()等等。我們可以使用這些特殊符號來編寫靈活的正則表達式規則。正則表達式的主要應用場景包括文本匹配、信息提取、數據清洗等等。