活動地址:CSDN21天學習挑戰賽
正則表達式,又稱規則表達式**,**(Regular Expression,在代碼中常簡寫為regex、regexp或RE),是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為"元字符"),是計算機科學的一個概念。
正則表達式使用單個字符串來描述、匹配一系列匹配某個句法規則的字符串,通常被用來檢索、替換那些符合某個模式(規則)的文本。
現代編程語言基本內嵌了正則表達式的庫,如per、python也不例外。雖然各種語言和庫的定義的正則表達式的語法規則會有所不同,但基本內容是相同的。
Python 雖然自帶正則表達式庫re,但是該庫不是自動加載進內存中的,需要使用下面的語句來引入
import re
正則表達式的基礎是匹配,匹配操作有兩個,一個是規則,另一個是輸入字符串在匹配的基礎上可以進行替換、檢索等操作。
一個簡單的例子:檢查用戶輸入的郵箱地址是否合法,合法的郵箱地址應該符合下面的格式
用戶名 @ 主機名
# 引入正則表達式庫
import re
# 定義函數
def valid_email_address(addr):
result = re.match(r"^[a-zA-z0-9][email protected][a-zA-z0-9]+(\.[a-zA-z0-9]+)*$", addr)
# 匹配成功
if result is not None:
print("[%s] is a valid email address" % addr)
# 匹配失敗
else:
print("[%s] is NOT a valid email address" % addr)
valid_email_address("name")
valid_email_address("[email protected]")
valid_email_address("[email protected]")
執行結果:
"D:\Program Files1\Python\python.exe" D:/Pycharm-work/pythonTest/正則/驗證郵箱.py
[name] is NOT a valid email address
[[email protected]] is NOT a valid email address
[[email protected]126.com] is a valid email address
Process finished with exit code 0
原子是正則表達式中最基本的組成單位,每個正則表達式中至少要包含一個原子。常見的原子類型有:
1.普通字符作為原子 : 如 az、AZ、0~9 等
2.非打印字符作為原子:如 \f \n \r \t \v \cx
3.通用字符作為原子:\d \D \w \W \s \S
4.原子表:自定義原子表([])作為原子:如:’/[apj]sp/’ ’/[^apj]sp/’
5.一些特殊字符和轉義後元字符作為原子:
所有標點符號,但語句特殊意義的符號需要轉義後才可作為原子,如:\” \’ * + ? . 等
在正則表達式中,定義了一些元字符。這些字符一般用來匹配一組字符,如果希望匹配0-9這10個數字字符,那麼便可以用元字符\d。元字符一般是以\開頭,後面在跟著一個字符。另外有些語法是描述某個或某組字符出現的頻率的,例如。如果認為某個字段是可選的,則可以指定其出現的頻率是0或者是1
常用的元字符和語法
未完待續
Why cant I open the webpage af