当正则表达式中包含能接受重复的限定符时,通常的行为是(在使整个表达式能得到匹配的前提下)匹配尽可能多的字符。以这个表达式为例:a.*b,它将会匹配最长的以 a 开始,以 b 结束的字符串。如果用它来搜索 aabab 的话,它会匹配整个字符串 aabab。这被称为贪婪匹配。有时,我们更需要懒惰匹配,也就是匹配尽可能少的字符。
前面我们提到过怎么查找不是某个字符或不在某个字符类里的字符的方法(反义)。但是如果我们只是想要确保某个字符没有出现,但并不想去匹配它时怎么办?例如,如果我们想查找这样的单词--它里面出现了字母q,但是q后面跟的不是字母u,我们可以尝试这样:\b\w*q[^u]\w*\b匹配包含后面不是字母 u 的字母 q 的单词。
如果你想把自己的网站、读过的好书,或者其他有用的学习资源推荐给大家,请联系我们。一些非常不错的 MySQL 学习站点MySQL 与 PERL 这是我们出品的一套讲解如何利用 PERL 和 DBI 模块 使用 MySQL 的教程。你从中可了解到所需的 MySQL 操作知识以及应用范例。MySQL 官方网站 可在此下载最新版本的 MySQL,了解最热门的 MySQL 业界新闻。