2007-11-06

一刻钟精通正则表达式

来源: 本站收集整理 作者: 评论 0 条
 ^[_a-zA-Z0-9-] (\.[_a-zA-Z0-9-] )*$

  上面的意思就是说: "以至少一个规范字符(除了.)开头,后面跟着0个或者多个以点开始的字符串."

  简单化一点, 我们可以用 eregi()取代 ereg().eregi()对大小写不敏感, 我们就不需要指定两个范围 "a-z" 和 "A-Z" ? 只需要指定一个就可以了:

^[_a-z0-9-] (\.[_a-z0-9-] )*$

  后面的服务器名字也是一样,但要去掉下划线:

^[a-z0-9-] (\.[a-z0-9-] )*$

  好. 现在只需要用”@”把两部分连接:

^[_a-z0-9-] (\.[_a-z0-9-] )*@[a-z0-9-] (\.[a-z0-9-] )*$

  这就是完整的email认证匹配模式了,只需要调用

eregi(‘^[_a-z0-9-] (\.[_a-z0-9-] )*@[a-z0-9-] (\.[a-z0-9-] )*$ ’,$eamil)

  就可以得到是否为email了.

  正则表达式的其他用法

  提取字符串

  ereg() and eregi() 有一个特性是答应用户通过正则表达式去提取字符串的一部分(具体用法你可以阅读手册). 比如说,我们想从 path/URL 提取文件名 ? 下面的代码就是你需要:

ereg("([^\\/]*)$", $pathOrUrl, $regs);
echo $regs[1];

  高级的代换

  ereg_replace() 和 eregi_replace()也是非常有用的: 假如我们想把所有的间隔负号都替换成逗号:


(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:使用.NET存储XML数据  
下一篇:PHP中的一些经验积累
    评论加载中…
共5页: 上一页 [1] [2] [3] 4 [5] 下一页
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号