boost 使用三

2011-02-02 13:31:41 · 作者: · 浏览: 1075

boost regex默认使用perl正规表达式。

在未指定情况下使用贪婪模式匹配。

使用?可以指定为非贪婪模式,下面是维基上的描述:

 

当该字符紧跟在任何一个其他限制符(*,+, ,{n },{n ,},{n ,m })后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串「oooo

」,「o+ 」将匹配单个「o 」,而「o+ 」将匹配所有「o 」。

 

比如在匹配html文件时应该使用:

<a href="(\S*)">(.* )</a>

去匹配。若未使用?则将匹配文件最后一个</a>.