正規表示式中的一些元字元

2021-10-24 23:20:22 字數 2155 閱讀 8773

python中,re模組提供了正規表示式操作所需要的功能。 大多數字母和字元一般都會和自身匹配。如果在字串前面加了r,表示對字串不進行轉義。有些字元比較特殊,它們和自身並不匹配,而是表明應和一些特殊的東西匹配,或者會影響重複次數。這些特殊的字元我們稱之為元字元。

「.」: 表示除換行符以外的任意字元;「」:指定字符集;「^」:匹配行首,匹配以^後面的字元開頭的字串;「$」:匹配行尾,匹配以$之前的字元結束的字串;「\」:反斜槓後面可以加不同的字元以表示不同的特殊意義;

(1)\b匹配單詞頭或單詞尾;

(2)\b與\b相反,匹配非單詞頭或單詞尾;

(3)\d匹配任何十進位制數;相當於[0-9];

(4)\d與\d相反,匹配任何非數字字元,相當於[^0-9];

(5)\s匹配任何空白字元,相當於[\t\n\r\f\v];

(6)\s與\s相反,匹配任何非空白字元,相當於[^\t\n\r\f\v];

(7)\w匹配任何字母、數字或下畫線字元,相當於[a-za-z0-9_];

(8)\w與\w相反,匹配任何非字母、數字和下畫線字元,相當於[^a-za-z0-9_];

(9)也可以用於取消所有的元字元:\、[。

(10)這些特殊字元都可以包含在中。如:[\s,.]將匹配任何空白字元、",「或」."。

「*」:匹配位於*之前的字元或子模式的0次或多次出現;增加了「+」:匹配位於+之前的字元或子模式的1次或多次出現;「?」:匹配位於?之前的0個或1個字元;「」:表示至少有m個重複,至多有n個重複。m,n均為十進位制數;「」:n是乙個非負整數。匹配確定的n次。例如,「o」不能匹配「bob」中的「o」,但是能匹配「food」中的兩個o;「:」m和n均為非負整數,其中n<=m。最少匹配n次且最多匹配m次;「」:n是乙個非負整數。至少匹配n次。例如,「o」不能匹配「bob」中的「o」,但能匹配「foooood」中的所有o;「[xyz]」:字元集合。匹配所包含的任意乙個字元。例如,「[abc]」可以匹配「plain」中的「a」;「[^xyz]」:負值字元集合。匹配未包含的任意字元。例如,「[^abc]」可以匹配「plain」中的「p」;「[x-y]」:字元範圍。匹配指定範圍內的任意字元。例如,「[a-z]」可以匹配「a」到「z」範圍內的任意小寫字母字元;"[^x-y]":負值字元範圍。匹配任何不在指定範圍內的任意字元。例如,「[^a-z]」可以匹配任何不在「a」到「z」範圍內的任意字元;「(?:x)」:匹配p但不獲取匹配結果,也就是說這是乙個非獲取匹配,不進行儲存供以後使用。這在使用或字元「(|)」來組合乙個模式的各個部分是很有用。例如「industr(?:y|ies)」就是乙個比「industry|industries」更簡略的表達;「(?=p)「:正向肯定預查,在任何匹配p的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如,「windows(?=95|98|nt|2000)」能匹配「windows2000」中的「windows」,但不能匹配「windows3.1」中的「windows」。預查不消耗字元,也就是說,在乙個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜尋,而不是從包含預查的字元之後開始;」(?!p)「:正向否定預查,在任何不匹配p的字串開始處匹配查詢字串。這是乙個非獲取匹配,也就是說,該匹配不需要獲取供以後使用。例如「windows(?!95|98|nt|2000)」能匹配「windows3.1」中的「windows」,但不能匹配「windows2000」中的「windows」。預查不消耗字元,也就是說,在乙個匹配發生後,在最後一次匹配之後立即開始下一次匹配的搜尋,而不是從包含預查的字元之後開始;」(?<=p)「:反向肯定預查,與正向肯定預查類擬,只是方向相反。例如,「(?<=95|98|nt|2000)windows」能匹配「2000windows」中的「windows」,但不能匹配「3.1windows」中的「windows」;」(?

正規表示式 元字元

現在你已經知道幾個很有用的元字元了,如 b 還有 d 當然還有更多的元字元可用,比如 s 匹配任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w匹配字母或數字或下劃線或漢字等。ba w b 匹配以字母a 開頭的單詞 先是某個單詞開始處 b 然後是字母a 然後是任意數量的字母或數字 w...

正規表示式 元字元

元字元 描述.點 匹配任何單個字元。例如正規表示式r.t匹配這些字串 rat rut r t,但是不匹配root。匹配行結束符。例如正規表示式weasel 能夠匹配字串 he s a weasel 的末尾 但是不能匹配字串 they are a bunch of weasels.匹配一行的開始。例如...

正規表示式元字元

l 基本元字元 元字元說明 匹配任意單個字元 邏輯或操作符 定義乙個字元集合,匹配該集合中的乙個字元 對字元集合求非 是對整個集合求非,而不是緊挨著 符號的字元 在字元集合中定義乙個區間。如 a za z 對下乙個字元轉義。比如 n表示換行。數量元字元 元字元說明 匹配前乙個字元 子表示式 零次或多...