Home >Backend Development >PHP Tutorial >Two notes on php regular expressions_PHP Tutorial

Two notes on php regular expressions_PHP Tutorial

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-07-13 17:22:53942browse

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没有意义
  (?

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/532281.htmlTechArticleseveraltipsaboutRegularExpressions 1.processfor"greedy" Bydefault,thequantifiersare"greedy",thatis,they matchasmuchaspossible(uptothemaximumnumberofper- mittedtimes),withoutcausing...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn