快速业务通道

半小时教你学会正则表达式

作者 凌众技术 来源 互联网 浏览 发布时间 2012-01-14
可读性的逗号(每隔三位), 我们可以这样表示: 
  ^[0-9]{1,3}(,[0-9]{3})*(\.[0-9]{1,2})?$

  不要忘记 '+' 可以被 '*' 替代 如果你想允许空白字符串被输入话 (为什么?). 也不要忘记反斜杆 ’\’ 在php字符串中可能会出现错误 (很普遍的错误). 

  现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成 double然后我们就可以通过他做数学计算了. 

  再来一个:

  构造检查email的正则表达式

  在一个完整的email地址中有三个部分: 
  1. 用户名 (在 '@' 左边的一切), 
  2.'@',
  3. 服务器名(就是剩下那部分). 
  用户名可以含有大小写字母阿拉伯数字,句号 ('.'), 减号('-'), and 下划线 ('_'). 服务器名字也是符合这个规则,当然下划线除外. 

  现在, 用户名的开始和结束都不能是句点. 服务器也是这样. 还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式: 

  ^[_a-zA-Z0-9-]+$

  现在还不能允许句号的存在. 我们把它加上: 
  ^[_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("([^\\/]*)contentquot;, $pathOrUrl, $regs); 
  echo $regs[1];

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号