正則表達(dá)式(Regular Expression),又稱規(guī)則表達(dá)式,它是對字符串操作的一種邏輯公式,即用事先定義好的一些特定字符以及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對字符串的一種過濾邏輯。 例如,在python中,'\d\d\d\d-\d\d-\d\d'是一個(gè)用來匹配日期的正則表達(dá)式。 正則表達(dá)式可以用來做什么? 給定一個(gè)正則表達(dá)式和另一個(gè)字符串,我們可以達(dá)到如下的目的: 1. 檢查給定的字符串是否符合正則表達(dá)式的過濾邏輯,即能否匹配; 2. 可以通過正則表達(dá)式的匹配,從字符串中提取或替換特定的部分。 正則表達(dá)式的語法 在正則表達(dá)式中: 字母和數(shù)字表示他們自身。 多數(shù)字母和數(shù)字前加一個(gè)反斜杠時(shí)會擁有不同的含義。 標(biāo)點(diǎn)符號只有被轉(zhuǎn)義時(shí)才匹配自身,否則它們表示特殊的含義。 反斜杠本身需要使用反斜杠轉(zhuǎn)義。 由于正則表達(dá)式通常都包含反斜杠,所以最好使用原始字符串來表示它們。模式元素(如 r'\t',等價(jià)于 '\\t')匹配相應(yīng)的特殊字符。 1. 一般字符 2. 特殊字符 2.1 用于匹配內(nèi)容 注:所有特殊字符在字符集 […] 中都失去其原有的特殊含義。若要在字符集中使用 ^ 、- 或 ] ,可以在這些字符前加反斜杠,或把 - 、 ] 放在第一個(gè)字符,把 ^ 放在非第一個(gè)字符。 2.2 用于限定匹配次數(shù) 注:這五種模式既可以用在一個(gè)字符之后,也可以用在一個(gè)分組(…)之后。 2.3 用于限定邊界 2.4 用于分組、條件邏輯及特殊情況 注:除以上所列字符模式外,還有部分較為復(fù)雜的字符模式,本篇中省略。 在python中,通過內(nèi)置的 re 模塊 來使用正則表達(dá)式,它提供了所有正則表達(dá)式的功能。 re 模塊中的 compile 函數(shù) 根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對象。該對象擁有一系列方法用于正則表達(dá)式匹配和替換。 ------------------- End ------------------- |
|