首页 » 默认不分类 » 正则表达式中问号的作用

正则表达式中问号的作用

下表给出了各种限定符及其含义的说明:

字符 描述
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 “z” 以及 “zoo”。 * 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 “zo” 以及 “zoo”,但不能匹配 “z”。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,”do(es)?” 可以匹配 “do” 或 “does” 中的”do” 。? 等价于 {0,1}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。’o{1,}’ 等价于 ‘o+’。’o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。刘, “o{1,3}” 将匹配 “fooooood” 中的前三个 o。’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。
*,+,? 在正则表达式中都是贪婪的,换句话说,他们就是尽可能多的匹配,但往往这样不是我们想要的。比如取链接,href=”(.*)”  这段代码他取到的是第一个引号至最后一个引号的内容,也可以说是整篇内容了,并没有取出一条条的链接,如果换成这样 href=”(.*?)” 效果就完全不一样了。
这儿我推荐个绿色小巧的正则测试软件: /wp-content/uploads/RegexTest1.0.rar

, , , , ,

转发到新浪微博 转发到新浪微博

目前这篇文章有7条评论(Rss)

  1. bookmarking | #1
    05/17/2012 at 02:46

    ZEcI9t I value the article post.Much thanks again. Much obliged.

  2. payday loans | #2
    05/17/2012 at 03:11

    bultrm http://paydayloansltg.com / payday loans

我要评论