boost regex默认使用perl正规表达式。
在未指定情况下使用贪婪模式匹配。
使用?可以指定为非贪婪模式,下面是维基上的描述:
? 当该字符紧跟在任何一个其他限制符(*,+,?,{n },{n ,},{n ,m })后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串「oooo 」,「o+? 」将匹配单个「o 」,而「o+ 」将匹配所有「o 」。
比如在匹配html文件时应该使用:
<a href="(\S*)">(.*?)</a>
去匹配。若未使用?则将匹配文件最后一个</a>.
Boost.Regex与非贪婪模式
5722

被折叠的 条评论
为什么被折叠?



