天天看點

Python正規表達式指南下下半部 

 count用于指定最多替換次數,不指定時全部替換。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<code>import</code> <code>re</code>

<code>p</code><code>=</code> <code>re.</code><code>compile</code><code>(r</code><code>'(\w+) (\w+)'</code><code>)</code>

<code>s</code><code>=</code> <code>'i say, hello world!'</code>

<code>print</code> <code>p.sub(r</code><code>'\2 \1'</code><code>, s)</code>

<code>def</code> <code>func(m):</code>

<code>    </code><code>return</code> <code>m.group(</code><code>1</code><code>).title()</code><code>+</code> <code>' '</code> <code>+</code> <code>m.group(</code><code>2</code><code>).title()</code>

<code>print</code> <code>p.sub(func, s)</code>

<code>### output ###</code>

<code># say i, world hello!</code>

<code># I Say, Hello World!</code>

  7.subn(repl, string[, count]) |re.sub(pattern, repl, string[, count]):

  傳回 (sub(repl, string[, count]), 替換次數)。

<code>print</code> <code>p.subn(r</code><code>'\2 \1'</code><code>, s)</code>

<code>print</code> <code>p.subn(func, s)</code>

<code># ('say i, world hello!', 2)</code>

<code># ('I Say, Hello World!', 2)</code>

  以上就是Python對于正規表達式的支援。熟練掌握正規表達式是每一個程式員必須具備的技能,這年頭沒有不與字元串打交道的程式了。筆者也處于初級階段,與君共勉,^_^

  另外,圖中的特殊構造部分沒有舉出例子,用到這些的正規表達式是具有一定難度的。有興趣可以思考一下,如何比對不是以abc開頭的單詞,^_^

<b>本文轉自 風雨蕭條 51CTO部落格,原文連結:http://blog.51cto.com/1095221645/1607793,如需轉載請自行聯系原作者</b>