正在阅读:半小时教你学会正则表达式半小时教你学会正则表达式

2005-09-05 10:23 出处: 作者:esayr 责任编辑:moningfeng

  简单化一点, 我们可以用 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()也是非常有用的: 假如我们想把所有的间隔负号都替换成逗号:
  ereg_replace("[ \n\r\t]+", ",", trim($str));

  最后,我把另一串检查EMAIL的正则表达式让看文章的你来分析一下.
  "^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.'[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$"
  如果能方便的读懂,那这篇文章的目的就达到了.

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品