文谷首页 | 业界传真 | 网络技术 | 服务器 | 数据库 | 存储技术 | 系统安全 | 无线技术 | Cisco | .Net | Windows | Linux | Unix | Java
电子商务 | 网站工程 | 网页设计 | 平面设计 | 多媒体 | 编程语言 | Oracle | MSSQL | Photoshop | ASP | PHP | 实用技巧 | 进程查询 | 文谷论坛
 规划发展   网页美工   标记语言   网页编程   Web服务器   广告攻略   开发常识   趋势研究   网站维护   网站数据库   网页设计工具   论坛
您现在的位置: IT文谷 >> 网站工程 >> 网页编程 >> PHP >> 文章正文
PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)
PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)
PHP中的正规表达式(二)

PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)

确定重复出现

到现在为止,你已经知道如何去匹配一个字母或数字,但更多的情况下,可能要匹配一个单词或一组数字。一个单词有若干个字母组成,一组数字有若干个单数组成。跟在字符或字符簇后面的花括号({})用来确定前面的内容的重复出现的次数。

字符簇 含义
^[a-zA-Z_]$ 所有的字母和下划线
^[[:alpha:]]{3}$ 所有的3个字母的单词
^a$ 字母a
^a{4}$ aaaa
^a{2,4}$ aa,aaa或aaaa
^a{1,3}$ a,aa或aaa
^a{2,}$ 包含多于两个a的字符串
^a{2,} 如:aardvark和aaab,但apple不行
a{2,} 如:baad和aaa,但Nantucket不行
t{2} 两个制表符
.{2} 所有的两个字符

这些例子描述了花括号的三种不同的用法。一个数字,{x}的意思是“前面的字符或字符簇只出现x次”;一个数字加逗号,{x,}的意思是“前面的内容出现x或更多的次数”;两个用逗号分隔的数字,{x,y}表示“前面的内容至少出现x次,但不超过y次”。我们可以把模式扩展到更多的单词或数字:

^[a-zA-Z0-9_]{1,}$ //所有包含一个以上的字母、数字或下划线的字符串
^[0-9]{1,}$ //所有的正数
^-{0,1}[0-9]{1,}$ //所有的整数
^-{0,1}[0-9]{0,}.{0,1}[0-9]{0,}$ //所有的小数

最后一个例子不太好理解,是吗?这么看吧:与所有以一个可选的负号(-{0,1})开头(^)、跟着0个或更多的数字([0-9]{0,})、和一个可选的小数点(.{0,1})再跟上0个或多个数字([0-9]{0,}),并且没有其他任何东西($)。下面你将知道能够使用的更为简单的方法。

特殊字符"?"与{0,1}是相等的,它们都代表着:“0个或1个前面的内容”或“前面的内容是可选的”。所以刚才的例子可以简化为:

^-?[0-9]{0,}.?[0-9]{0,}$

特殊字符"*"与{0,}是相等的,它们都代表着“0个或多个前面的内容”。最后,字符"+"与 {1,}是相等的,表示“1个或多个前面的内容”,所以上面的4个例子可以写成:

^[a-zA-Z0-9_]+$ //所有包含一个以上的字母、数字或下划线的字符串
^[0-9]+$ //所有的正数
^-?[0-9]+$ //所有的整数
^-?[0-9]*.?[0-9]*$ //所有的小数

当然这并不能从技术上降低正规表达式的复杂性,但可以使它们更容易阅读。

PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)
  • 上一篇文章:

  • 下一篇文章:
  • 进入论坛讨论

    相关文章
    IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置
    国外的一篇在IIS6上安装PHP5的教程
    Apache 2 + php 5 + mysql 5 在Windows下的安装与配置详解(最新版)
    为什么linux系统不需要碎片整理
    正版风暴让微软找到平衡点 Linux祸福难料
    定制安全的Linux系统的服务平台(4)
    定制安全的Linux系统服务平台(3)
    定制安全的Linux系统服务平台(2)
    定制安全的Linux系统服务平台(1)
    redhat下搞定红外线/GPRS/WAP代理上网
    Linux系统在嵌入式系统上的实践和探讨
    Linux3.0下安装DB2 8.2
    热门文章最新推荐

    版权与免责声明:
    ① 本网转载其他媒体稿件是为传播更多的信息,此类稿件不代表本网观点,版权归原作者所有,本网不承担此类稿件侵权行为的连带责任。
    ② 在本网BBS上发表言论者,文责自负。
    ③ 如您因版权等问题需要与本网联络,请在30日内联系 。
    PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)
    PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)2006-3-27 17:12:10PHP中的正规表达式(二)

    PHP专题
    人气排行
  • 此栏目下没有文章
  • 最近更新
    普通文章php生成WAP页面
    普通文章PHP的XML分析函数
    普通文章PHP中的XML应用(一)
    普通文章PHP中的XML应用(二)
    普通文章PHP5的XML新特性
    普通文章一个用于MySQL的PHP XML类
    普通文章PHP 和 XML: 使用expat函数(一
    普通文章PHP 和 XML: 使用expat函数(二
    普通文章PHP 和 XML: 使用expat函数(三
    普通文章用 PHP5 轻松解析 XML
    全站热点       
    最新推荐
    关于文谷 | 联系文谷 | 免责声明 | 文谷社区
    Tel: 0577-65690019    E-mail: ichenjian@gmail.com    MSN:ichenjian@hotmail.com    QQ:2911194
    Copyright © 2004-2006 wengu.org 文谷 All Rights Reserved
    浙ICP备05000327号