python正則表達(dá)式如何整理的相關(guān)方案介紹
下面的文章就是對python正則表達(dá)式如何整理的實(shí)際操作方案的具體介紹,如果你在相關(guān)的資料中沒有找到相關(guān)的文獻(xiàn)可以參考的,你就可以點(diǎn)擊以下的文章對python正則表達(dá)式的實(shí)際相關(guān)應(yīng)用有所了解。
python正則表達(dá)式專題
- <!--[if !supportLists]-->一、<!--[endif]-->
整理其應(yīng)用于python的用到的正則表達(dá)式
- <!--[if !supportLists]-->1.1 <!--[endif]-->
字符匹配元字符列表:
- . ^ $ * + ? { [ ] \ | ( )
字符可以單個列出,也可以用“-”號分隔的兩個給定字符來表示一個字符區(qū)間。例如,[abc] 將匹配"a", "b", 或 "c"中的任意一個字符;也可以用區(qū)間[a-c]來表示同一字符集,和前者效果一致。如果你只想匹配小寫字母。那么 RE 應(yīng)寫成 [a-z].
你可以用補(bǔ)集來匹配不在區(qū)間范圍內(nèi)的字符。其做法是把"^"作為類別的首個字符;其它地方的"^"只會簡單匹配 "^"字符本身。例如,[^5] 將匹配除 "5" 之外的任意字符。也許最重要的元字符是反斜杠"\"。 做為 Python 中的字符串字母,反斜杠后面可以加不同的字符以表示不同特殊意義。它也可以用于取消所有的元字符,這樣你就可以在模式中匹配它們了。舉個例子,如果你需要 匹配字符 "[" 或 "\",你可以在它們之前用反斜杠來取消它們的特殊意義: \[ 或 \\。
PS:其中的\ 表示轉(zhuǎn)義處理常用的字符:
\d 匹配任何十進(jìn)制數(shù);它相當(dāng)于類 [0-9]。\D 匹配任何非數(shù)字字符;它相當(dāng)于類 [^0-9]。\s 匹配任何空白字符;它相當(dāng)于類 [ \t\n\r\f\v]。\S 匹配任何非空白字符;它相當(dāng)于類 [^ \t\n\r\f\v]。\w 匹配任何字母數(shù)字字符;它相當(dāng)于類 [a-zA-Z0-9_]。\W 匹配任何非字母數(shù)字字符;python正則表達(dá)相當(dāng)于類 [^a-zA-Z0-9_]。這兩種寫法是等價的!
- <!--[if !supportLists]-->1.2 <!--[endif]-->
重復(fù)
第一個重復(fù)功能的元字符是 *。* 并不匹配字母字符 "*";相反,它指定前一個字符可以被匹配零次或更多次,而不是只有一次。另一個重復(fù)元字符是 +,表示匹配一或更多次。請注意 * 和 + 之間的不同;* 匹配零或更多次,所以根本就可以不出現(xiàn),而 + 則要求至少出現(xiàn)一次。#p#
問號 ? 匹配一次或零次;
最復(fù)雜的重復(fù)限定符是 {m,n},其中 m 和 n 是十進(jìn)制整數(shù)。該限定符的意思是至少有 m 個重復(fù),至多到 n 個重復(fù)。你可以忽略 m 或 n;因為會為缺失的值假設(shè)一個合理的值。忽略 m 會認(rèn)為下邊界是 0,而忽略 n 的結(jié)果將是上邊界為無窮大 -- 實(shí)際上是先前我們提到的 2 兆,但這也許同無窮大一樣。
PS:包括* ? + {m,n} 這樣的重復(fù)標(biāo)識
了解了常用的正則表達(dá)式之后就可以將其融入到python里面了。因為我發(fā)現(xiàn)不同的語言在正則上面還是有點(diǎn)差異的。故此我先將其能用到的正則內(nèi)容整理完。
- <!--[if !supportLists]-->二、<!--[endif]-->python
中應(yīng)用正則使用正則對象
- import re
- p = re.compile('^[1-9]\d*$',re.S)
以上的文章就是對python正則表達(dá)式的部分介紹。
【編輯推薦】
- Python矩陣轉(zhuǎn)置的實(shí)際應(yīng)用操作方案與代碼詳解
- Python環(huán)境的實(shí)際應(yīng)用方案介紹與代碼詳解
- 在PythonS60手機(jī)運(yùn)行過程中的五大步驟
- Python矩陣轉(zhuǎn)置中的二維數(shù)組的實(shí)際操作方案介紹
- Python復(fù)制文件的實(shí)際操作方案與代碼詳解