多数大学生出来选择的工作和专业无关
首页 > 专业知识

PHP正则表达式函数学习小结

时间:2018-03-09 17:50:58 [来源]:郑州PHP培训学校

   PHP正则表达式函数学习小结

  PHP正则表达式函数的使用对我们处理复杂的字符串起着非常重要的作用,那么有哪些PHP正则表达式函数是我们经常用到的呢?那么本文就向你介绍详细的内容。
  PHP正则表达式函数都有那些呢?那么PHP正则表达式函数具体的是代表什么呢?具体的用法又是什么呢?让我们一一向你介绍。PHP正则表达式主要用于复杂字符串的处理。其主要的PHP正则表达式函数如下:
  ereg()
  ereg_replace()
  eregi()
  eregi_replace()
  split()
  PHP正则表达式函数用法归纳:
  (1)ereg,eregi
  这是正规表达式匹配函数,前者是大小写有关匹配,后者则是无关的.
  用法:
  ereg(正规表达式,字符串,[匹配部分数组名]); PHP3.0中的正规表达式大体类似于grep中用的.
  (2)ereg_replace,eregi_replace
  这些是替换函数.
  用法:
  ereg_replace(正规表达式,替换串,原字符串);字符串处理函数中有一个strtr,是"翻译"函数,类似于Perl中的tr/.../.../,用法:
  strtr(字符串,"从","到");
  例如:
  strtr("aaabb","ab","cd")返回"cccdd".
  (3)split
  与explode函数有些类似,但这次可以在匹配某正规表达式的地方分割字符串.
  用法:
  split(正规表达式,字符串,[取出前多少项]);
  这些函数都使用正则字符串做为第一个参数。PHP使用Posix 1003.2标准所定义的扩展正则字符串。要查考Posix正则表达式的完整描述请看PHP软件包中regex目录下的man页。
  PHP正则表达式函数应用实例:
  ereg("abc",$string);
  /* Returns true if "abc" is
  found anywhere in $string. */
  ereg("^abc",$string);
  /* Returns true if "abc" is
  found at the beginning of $string. */
  ereg("abc$",$string);
  /* Returns true if "abc" is
  found at the end of $string. */
  eregi("(ozilla.[23]|MSIE.3)",$HTTP_USER_AGENT);/* Returns true if client browser
  is Netscape 2, 3 or MSIE 3. */
  ereg("([[:alnum:]]+) ([[:alnum:]]+)
  ([[:alnum:]]+)",$string,$regs);
  /* Places three space separated words
  into $regs[1], $regs[2] and $regs[3]. */
  ereg_replace("^","",$string);
  /* Put a tag at the beginning of $string. */ereg_replace("$","",$string);
  /* Put a tag at the end of $string. */
  ereg_replace(" ","",$string);
  /* Get rid of any carriage
  return characters in $string. */
  PHP正则表达式函数的相关内容就向你介绍到这里,希望对你了解和学习PHP正则表达式函数有所帮助。
 
  浅析Perl正则表达式在PHP的实现
  Perl正则表达式在PHP的实现其实就是向你介绍了PCRE相关的正则表达式函数,那么具体的都有什么呢?他们各自的特点以及使用需要注意什么呢?那么本文就向你介绍详细的内容。
  Perl正则表达式在PHP的实现达成,我们要使用PCRE相关的正则表达式函数,那么具体的都有什么函数呢?这里我们向你介绍4个,希望对你有所帮助。
  Perl正则表达式在PHP的实现所使用的函数介绍:
  1、preg_match :
  函数格式:
  int preg_match(string pattern, string subject, array [matches]);这个函数会在string中使用pattern表达式来匹配,如果给定了[regs],就会将string记录到[regs][0]中,[regs][1]代表使用括号"()"记录下来的第一个字符串,[regs][2]代表记录下来的第二个字符串,以此类推。preg如果在string中找到了匹配的pattern,就会返回"true",否则返回"false"。
  2、preg_replace :
  函数格式:
  mixed preg_replace(mixed pattern, mixed replacement, mixed subject);这个函数会使用将string中符合表达式pattern的字符串全部替换为表达式replacement。如果replacement中需要包含pattern的部分字符,则可以使用"()"来记录,在replacement中只是需要用"\\1"来读取。
  3、preg_split :
  函数格式:
  array preg_split(string pattern, string subject, int [limit]);这个函数和函数split一样,区别仅在与split可以使用简单正则表达式来分割匹配的字符串,而preg_split使用完全的Perl兼容正则表达式。第三个参数limit代表允许返回多少个符合条件的值。
  4、preg_grep :
  函数格式:
  array preg_grep(string patern , array input);这个函数和preg_match功能基本上,不过preg_grep可以将给定的数组input中的所有元素匹配,返回一个新的数组。
 
  详解两个PHP正则表达式特殊字符
  PHP正则表达式特殊字符是我们在实际开发中会碰到的,那么碰到这样的字符将会代表什么不同的特别的含义么?那么这里就向你介绍两种我们经常会碰到的PHP正则表达式特殊字符的使用详解。
  PHP正则表达式特殊字符"[ ]"和"\",那么他们是什么呢?具体的操作是什么呢?之所以他们是特殊字符,那么有什么在使用过程中特别的地方么?来让我们看看具体的介绍。
  还有两个很重要的特殊字符就是"[ ]"。他们可以匹配"[]"之中出现过的字符,比如"/[az]/"可以匹配单个字符"a"或者"z";如果把上面的表达式改成这样"/[a-z]/",就可以匹配任何单个小写字母,比如"a"、"b"等等。
  关于PHP正则表达式特殊字符"[ ]":
  如果在"[]"中出现了"^",代表本表达式不匹配"[]"内出现的字符,比如"/[^a-z]/"不匹配任何小写字母!并且正则表达式给出了几种"[]"的默认值:
  [:alpha:]:匹配任何字母
  [:alnum:]:匹配任何字母和数字
  [:digit:]:匹配任何数字
  [:space:]:匹配空格符
  [:upper:]:匹配任何大写字母
  [:lower:]:匹配任何小写字母
  [:punct:]:匹配任何标点符号
  [:xdigit:]:匹配任何16进制数字
  关于PHP正则表达式特殊字符"\":
  下面这些特殊字符在转义符号"\"转义后代表的含义如下:
  s:匹配单个的空格符
  S:用于匹配除单个空格符之外的所有字符。
  d:用于匹配从0到9的数字,相当于"/[0-9]/"。
  w:用于匹配字母,数字或下划线字符,相当于"/[a-zA-Z0-9_]/"。
  W:用于匹配所有与w不匹配的字符,相当于"/[^a-zA-Z0-9_]/"。
  D:用于匹配任何非10进制的数字字符。
  .:用于匹配除换行符之外的所有字符,如果经过修饰符"s"的修饰,"."可以代表任意字符。
  关于PHP正则表达式特殊字符的介绍就向你介绍到这里,希望那个对你了解和掌握PHP正则表达式特殊字符的使用有所帮助。
 

上一篇:国外优秀开源PHP建站程序一览

下一篇:浅谈PHP正则表达式的一点理解