### 編譯正則表達式
正則表達式被編譯成 `RegexObject` 實例,可以為不同的操作提供方法,如模式匹配搜索或字符串替換。
```
#python
>>> import re
>>> p = re.compile('ab*')
>>> print p
<_sre.SRE_Pattern object at 0xb76e1a70>
```
re.compile() 也接受可選的標志參數,常用來實現不同的特殊功能和語法變更。我們稍后將查看所有可用的設置,但現在只舉一個例子:
```
#!python
>>> p = re.compile('ab*', re.IGNORECASE)
```
RE 被做為一個字符串發送給 re.compile()。REs 被處理成字符串是因為正則表達式不是 Python 語言的核心部分,也沒有為它創建特定的語法。(應用程序根本就不需要 REs,因此沒必要包含它們去使語言說明變得臃腫不堪。)而 re 模塊則只是以一個 C 擴展模塊的形式來被 Python 包含,就象 socket 或 zlib 模塊一樣
將 REs 作為字符串以保證 Python 語言的簡潔,但這樣帶來的一個麻煩就是象下節標題所講的。