«
如何使用PHP中的正则表达式

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  在PHP中正则表达式用于复杂字符串的处理。所支持的正则表达式如下:</p><p>  ereg()</p><p>  ereg_replace()</p><p>  eregi()</p><p>  eregi_replace()</p><p>  split() <p>  (1)ereg,eregi</p><p>  这是正规表达式匹配函数,前者是大小写有关匹配,后者则是无关的.</p><p>  用法:</p><p>  ereg(正规表达式,字符串,[匹配部分数组名]);</p><p>  PHP3.0中的正规表达式大体类似于grep中用的.</p><p>  (2)ereg_replace,eregi_replace</p><p>  这些是替换函数.</p><p>  用法:</p><p>  ereg_replace(正规表达式,替换串,原字符串);</p><p>  字符串处理函数中有一个strtr,是"翻译"函数,类似于Perl中的tr/.../.../,</p><p>  用法:</p><p>  strtr(字符串,"从","到");</p><p>  例如:</p><p>  strtr("aaabb","ab","cd")返回"cccdd".</p><p>  (3)split</p><p>  与explode函数有些类似,但这次可以在匹配某正规表达式的地方分割字符串.</p><p>  用法:</p><p>  split(正规表达式,字符串,[取出前多少项]); </p><p>  这些函数都使用正则字符串做为第一个参数。PHP使用Posix 1003.2标准所定义的扩展正则字符串。</p><p>  要查考Posix正则表达式的完整描述请看PHP软件包中regex目录下的man页。</p><p>  Regular expression examples:</p><p>  ereg("abc",$string);</p><p>  /* Returns true if "abc" is found anywhere in $string. */</p><p>  ereg("^abc",$string);</p><p>  /* Returns true if "abc" is found at the beginning of $string. */</p><p>  ereg("abc$",$string);</p><p>  /* Returns true if "abc" is found at the end of $string. */</p><p>  eregi("(ozilla.[23]|MSIE.3)",$HTTP_USER_AGENT);</p><p>  /* Returns true if client browser is Netscape 2, 3 or MSIE 3. */</p><p>  ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)",$string,$regs);</p><p>  /* Places three space separated words into $regs[1], $regs[2] and $regs[3]. */</p><p>  ereg_replace("^","",$string);</p><p>  /* Put a tag at the beginning of $string. */</p><p>  ereg_replace("$","",$string);</p><p>  /* Put a tag at the end of $string. */</p><p>  ereg_replace(" ","",$string);</p><p>  /* Get rid of any carriage return characters in $string. */</p>