| 广告招租,e-mail:yesize@hotmail.com
|
|
广告招租,e-mail:yesize@hotmail.com
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 /\*.*?\*/ 小结: ?与/U有类似功能,但同时出现彼此抵消 如下: $a="asdf/*asdfaldsfasdf*/asfdasldf;kfldsj*/asfddsaf"; $pattern="/\/\*.*?\*\//"; //$pattern="/\/\*.*\*\//U"; //$pattern="/\/\*.*?\*\//U"; preg_match($pattern,$a,$match); print_r($match); ?> 2.Assertions \w+(?=;) matchesawordfollowedbyasemicolon,butdoesnotinclude thesemicoloninthematch,and foo(?!bar) matchesanyoccurrenceof"foo"thatisnotfollowedby "bar".Notethattheapparentlysimilarpattern 小结: (?!)只前向判断匹配,如bar(?!foo),而(?!foo)bar没有意义 (?
版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com |
|
热门小游戏分类 |
|
|
|