正規表達式(Regular Expression)

網路參考資源

簡介

  • 正規表達式(Regular Expression)又簡稱為 RegEx。
  • 常應用於文字資料處理相關工作,加速資料萃取、資料清洗等工作。
  • 藉由特有的表達規則,匹配文字資料中之特定字串。
  • 許多程式語言都具有實踐正規表達式的能力。
  • 在Python中的 re 模組,是實踐正規表達式的常用模組
# 匯入 regex 套件
import re

# search
regex01 = r'[a-zA-Z](1|2)\d{8}'
string01 = "A123456789, S299888777"
match01 = re.search(regex01, string01)
print(match01)
'''
說明
re.search 會將整個字串進行搜尋,
但只會比對到第一組,
match[0]是regex所代表的整個完整比對的字串,
match[1]是第一個(group)中的內容,
match[2]是第二對(group)中的內容...
'''
print(match01[0])
print(match01[1])

跳脫字元 \

  • 正則表達式使用反斜字( \ ),表示特殊形式或將某些特殊字符時轉為一般字元
    • Ex: 要匹配 \ 時,正則表達式要寫成 \\ 或許會過於麻煩且不易撰寫
  • 另一種辦法為,使用Python的原始字串表示法 r
  • r 當中所有的內容都是直接按照字面的意思來使用
  • r 前綴的字串中,反斜線不必做任何特殊處理
    • Ex: r'\n' 表示包含 \n 兩個字符的字符串,而 \n 則表示只包含一個換行的字串