ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 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](http://groups.google.com/groups?selm=33F0C496.370D7C45%40netscape.com)