2.search(string[, pos[, endpos]]) | re.search(pattern, string[, flags]):
這個方法用于查找字元串中可以比對成功的子串。從string的pos下标處起嘗試比對pattern,如果pattern結束時仍可比對,則傳回一個Match對象;若無法比對,則将pos加1後重新嘗試比對;直到pos=endpos時仍無法比對則傳回None。
pos和endpos的預設值分别為0和len(string));re.search()無法指定這兩個參數,參數flags用于編譯pattern時指定比對模式。
<code># encoding: UTF-8</code>
<code>import</code> <code>re</code>
<code># 将正規表達式編譯成Pattern對象</code>
<code>pattern</code><code>=</code> <code>re.</code><code>compile</code><code>(r</code><code>'world'</code><code>)</code>
<code># 使用search()查找比對的子串,不存在能比對的子串時将傳回None</code>
<code># 這個例子中使用match()無法成功比對</code>
<code>match</code><code>=</code> <code>pattern.search(</code><code>'hello world!'</code><code>)</code>
<code>if</code> <code>match:</code>
<code> </code><code># 使用Match獲得分組資訊</code>
<code> </code><code>print</code> <code>match.group()</code>
<code>### 輸出 ###</code>
<code># world</code>
3.split(string[, maxsplit]) | re.split(pattern, string[, maxsplit]):
按照能夠比對的子串将string分割後傳回清單。maxsplit用于指定最大分割次數,不指定将全部分割。
<code>p</code><code>=</code> <code>re.</code><code>compile</code><code>(r</code><code>'\d+'</code><code>)</code>
<code>print</code> <code>p.split(</code><code>'one1two2three3four4'</code><code>)</code>
<code>### output ###</code>
<code># ['one', 'two', 'three', 'four', '']</code>
4.findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags]):
搜尋string,以清單形式傳回全部能比對的子串。
<code>print</code> <code>p.findall(</code><code>'one1two2three3four4'</code><code>)</code>
<code># ['1', '2', '3', '4']</code>
5.finditer(string[, pos[, endpos]]) | re.finditer(pattern, string[, flags]):
搜尋string,傳回一個順序通路每一個比對結果(Match對象)的疊代器 。
<code>for</code> <code>m</code><code>in</code> <code>p.finditer(</code><code>'one1two2three3four4'</code><code>):</code>
<code> </code><code>print</code> <code>m.group(),</code>
<code># 1 2 3 4</code>
6.sub(repl, string[, count]) | re.sub(pattern, repl, string[, count]):
使用repl替換string中每一個比對的子串後傳回替換後的字元串。
當repl是一個字元串時,可以使用\id或\g<id>、\g<name>引用分組,但不能使用編号0。
當repl是一個方法時,這個方法應當隻接受一個參數(Match對象),并傳回一個字元串用于替換(傳回的字元串中不能再引用分組)。
本文轉自 風雨蕭條 部落格,原文連結: http://blog.51cto.com/1095221645/1607792 如需轉載請自行聯系原作者