上面的意思就是说: "以至少一个规范字符(除了.)开头,后面跟着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()也是非常有用的: 假如我们想把所有的间隔负号都替换成逗号:
| 共5页: 上一页 [1] [2] [3] 4 [5] 下一页 | |||
![]() |