答案:severaltipsaboutRegularExpressions
1.processfor"greedy"
Bydefault,thequantifiersare"greedy",thatis,they
matchasmuchaspossible(uptothemaximumnumberofper-
mittedtimes),withoutcausingtherestofthepatternto
fail.Theclassicexampleofwherethisgivesproblemsisin
tryingtomatchcommentsinCprograms.Theseappearbetween
thesequences/*and*/andwithinthesequence,individual
*and/charactersmayappear.AnattempttomatchCcom-
mentsbyapplyingthepattern
/\*.*\*/
tothestring
/*firstcommand*/notcomment/*secondcomment*/
fails,becauseitmatchestheentirestringduetothe
greedinessofthe.*item.
However,ifaquantifierisfollowedbyaquestionmark,
thenitceasestobegreedy,andinsteadmatchestheminimum
numberoftimespossible,sothepattern
/\*.*?\*/
上一个:PHP文本型数据库分类排序的实现
下一个:打造超酷的PHP数据饼图