一、簡介
正則表達式本身是一種小型的、高度專業化的編程語言,而在python中,通過內嵌集成re模塊,程序媛們可以直接調用來實現正則匹配。正則表達式模式被編譯成一系列的字節碼,然后由用C編寫的匹配引擎執行。
二、正則表達式中常用的字符含義
1、普通字符和11個元字符:
| 普通字符 | 匹配自身 | abc | abc |
| . | 匹配任意除換行符"/n"外的字符(在DOTALL模式中也能匹配換行符 | a.c | abc |
| / | 轉義字符,使后一個字符改變原來的意思 | a/.c;a//c | a.c;a/c |
| * | 匹配前一個字符0或多次 | abc* | ab;abccc |
| + | 匹配前一個字符1次或無限次 | abc+ | abc;abccc |
| ? | 匹配一個字符0次或1次 | abc? | ab;abc |
| ^ | 匹配字符串開頭。在多行模式中匹配每一行的開頭 | ^abc | abc |
| $ | 匹配字符串末尾,在多行模式中匹配每一行的末尾 | abc$ | abc |
| | | 或。匹配|左右表達式任意一個,從左到右匹配,如果|沒有包括在()中,則它的范圍是整個正則表達式 | abc|def | abc def |
| {} | {m}匹配前一個字符m次,{m,n}匹配前一個字符m至n次,若省略n,則匹配m至無限次 | ab{1,2}c | abc abbc |
| [] | 字符集。對應的位置可以是字符集中任意字符。字符集中的字符可以逐個列出,也可以給出范圍,如[abc]或[a-c]。[^abc]表示取反,即非abc。 所有特殊字符在字符集中都失去其原有的特殊含義。用/反斜杠轉義恢復特殊字符的特殊含義。 | a[bcd]e | abe ace ade |
| () | 被括起來的表達式將作為分組,從表達式左邊開始沒遇到一個分組的左括號“(”,編號+1. 分組表達式作為一個整體,可以后接數量詞。表達式中的|僅在該組中有效。 | (abc){2} a(123|456)c | abcabc a456c |
新聞熱點
疑難解答