关于php正则表达式的两点备注
发表于:2007-07-01来源:作者:点击数:
标签:
severaltipsaboutRegularExpressions 1.processforgreedy Bydefault,thequ ant ifiersaregreedy,thatis,they matchasmuchaspossible(uptothemaximumnumberofper- mittedtimes),withoutcausingtherestofthepatternto fail.Theclassicexampleofwherethisgivespr
severaltipsaboutRegularExpressions
1.processfor"greedy"
Bydefault,thequ
antifiersare"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
/\*.*?\*/
原文转自:http://www.ltesting.net