您现在的位置:中国下载站学院中心网络编程PHP教程PHP开发技巧 → 文章列表

PHP和正则表达式(2)

作者:佚名  来源:不详  发布时间:2007-4-14 11:53:57   

减小字体 增大字体

 
 
  一或多次重复字符

  为了告诉正则表达式引擎一个字符必须存在,也可以重复不止一次,我们用+字符,像

  <?php echo ereg("z+", "i like the zoo"); ?>

  下面的例子也会返回true:

  <?php echo ereg("z+", "i like the zzzzzzoo!"); ?>

  零或一次重复字符

  我们也可以告诉正则表达式引擎,一个字符必须是或者只存在一次,或者没有。我们用?字符来做这项工作,就像

  <?php echo ereg("c?", "cats are fuzzy"); ?>

  如果我们愿意,我们完全可以从上面的搜索字符串中删除’c’,这个表达式会仍旧返回true.’?’ 的意思是一个’c’可以出现在搜索字符串的任何地方,但不是必须的。

  正则表达式语法 (续)

  空格字符

  为了匹配一个搜索字符串中的空格字符,我们用预定义Posix的类,[[:space]].方括号标明连续字符的相关性,”:space:”是实际要匹配的类(在这种情形下,是任何空白字符)。空白包括tab字符,新行字符,空白字符。或者,如果搜索字符串必须包含只有一个空格,而不是一个tab或者新行字符,你可以用一个空格字符(" ")。在大多数情况下,我倾向于使用":space:",因为这意味着我的意图不仅仅是单个空格字符,这点很容易被忽视。这里有一些Posix-标准预定义类,

  有一些我们可以作为正则表达式的部分的一些Posix-标准预定义类,包括[:alnum:], [:digit:], [:lower:]等等。 完整的列表可以在这里查看

  我们可以像这样匹配单个空白字符:

  <?php echo ereg("Mitchell[[:space:]]Harper", "Mitchell Harper"); ?>

  我们也可以通过在表达式后用?字符来告诉正则表达式引擎匹配没有空白或者一个空白。

  <?php echo ereg("Mitchell[[:space:]]?Harper", "MitchellHarper"); ?>

  模式分组

  相关的模式可以在方括号里分在一起。很容易用[a-z]和[A-Z]指定只有一个小写字母或者一列大写字母以搜索字符串的一部分存在。

  <?php
// 要求从第一个到最后一个都是小写字母
echo ereg("^[a-z]+$", "johndoe"); // 返回true
?>

  或者像


在百度中搜索更多PHP和正则表达式(2)相关网页 转贴于:中国下载站

  • 上一篇文章:在一个字符串中查找另一个字符串
  • 下一篇文章:经典正则表达式
  • 阅读统计:[]
  • 中国下载站】【设为主页】【收藏本页】【打印本文】【回到顶部】【关闭此页

    相关文章
    文章评论(评论内容只代表网友观点,与本站立场无关!)

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

             (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码


    设为首页 - 关于我们 - 广告服务 - 网站地图 - 加入收藏 - 网站声明 - 网站帮助 - 友情链接

    • Copyright (C) 2006-2008 www.cndownz.com All Rights Reserved.
      中国下载站 版权所有. 粤ICP备05141802号. 对本站有任何建议、意见或投诉,请来信:cndownzcom@yahoo.com.cn.
      喜欢中国下载站(cndownz.com),请把中国下载站(cndownz.com)告诉你QQ上的5位好友,多谢支持!