7.7. 小结
Description: Python from novice to pro
Keywords: Python, Dive Into Python, tutorial, object-oriented, programming, documentation, book, free

# 深入 Python :Dive Into Python 中文版 Python 从新手到专家 [Dip_5.4b_CPyUG_Release] | Find:

## 7.7. 小结

这只是正则表达式能够完成工作的很少一部分。换句话说，即使你现在备受打击，相信我，你也不是什么也没见过了。

现在，你应该熟悉下列技巧：

- `^` 匹配字符串的开始。
- `$` 匹配字符串的结尾。
- `\b` 匹配一个单词的边界。
- `\d` 匹配任意数字。
- `\D` 匹配任意非数字字符。
- `x?` 匹配一个可选的 `x` 字符 (换言之，它匹配 1 次或者 0 次 `x` 字符)。
- `x*` 匹配0次或者多次 `x` 字符。
- `x+` 匹配1次或者多次 `x` 字符。
- `x{n,m}` 匹配 `x` 字符，至少 `n` 次，至多 `m` 次。
- `(a|b|c)` 要么匹配 `a`，要么匹配 `b`，要么匹配 `c`。
- `(x)` 一般情况下表示一个记忆组 (remembered group)。你可以利用 `re.search` 函数返回对象的 `groups()` 函数获取它的值。

正则表达式非常强大，但是它并不能为每一个问题提供正确的解决方案。你应该学习足够多的知识，以辨别什么时候它们是合适的，什么时候它们会解决你的问题，什么时候它们产生的问题比要解决的问题还要多。

| 一些人，遇到一个问题时就想：“我知道，我将使用正则表达式。”现在他有两个问题了。 |
--Jamie Zawinski, in comp.emacs.xemacs |