首页 > 代码库 > 正则表达式中原子的5种类型

正则表达式中原子的5种类型

原子是正则表达式的最基本的组成单位,而且在每个模式中最少包含一个原子。原子是由所有那些未显示指定为元字符的打印和非打印字符组成,所以在这里将其详细划分为五类进行介绍。

  ①普通字符作为原子
  普通字符是编写正则表达式时最常见的原子了,包括所有的大写和小写字母字符、所有数字等。例如,a——z、A——Z、0——9。
  ’/5/’        –用于匹配字符串中是否有5这个字符出现
  ’/php/’      –用于匹配字符串中是否有PHP字符串出现
  ②一些特殊字符和元字符作为原子
  任何一个符号都可以作为原子使用,但如果这个符号在正则表达式中有一些特殊意义,我们就必须使用转义字符“\”取消它的特殊意义,将其变成一个普通的原子。例如,所有标点符号以及一些其他符号,双引号“””、单引号“’”、“*”、“+”、“.”等,如果当原子就必须像\”、\’、\+和\.这样使用。
  ‘/\./’           –用于匹配字符串中是否有英文的“.”出现
  ’/\<br\/\>/’     –用于匹配字符串中是否有HTML的<br/>标记字符串出现
  ③一些非打印字符作为原子
  所谓的非打印字符,是一些在字符串中的格式控制符号,例如空格、回车及制表符号等。例如下表所示列出了正则表达式中常用的非打印字符及其含义。
正则表达式中常用的非打印字符
  ④使用“通用字符类型”作为原子
  前面介绍的不管是打印字符还是非打印字符作为原子,都是一个原子只能匹配一个字符。而有时我们需要一个原子可以匹配一类字符,例如,匹配所有数字不是一个数字,匹配所有字母而不是一个字母,这时就要使用“通用字符类型”了。例如下表所示列出了正则表达式中常用“通用字符类型”及其含义。
正则表达式中常用的“通用字符类型”
  ⑤自定义原子表([])作为原子
  虽然前面介绍过“类原子”,可以代表一组原子中的一个,但系统只给我们提供了上表中介绍的6个“类原子”。因为代表某一类的原子太多了,系统不能全都给提供出来,例如数字中的奇数(1、3、5、7、9、)、字母中的元音字母(a、e、i、o、u)等。所以就需要我们可以自己定义出特定的“类原子”,使用原子表“[]”就可以定义一组彼此地位平等的原子,且从原子表中仅选择一个原子进行匹配。如下所示:正则表达式自定义原子表
 

>> 本文固定链接: http://php.ncong.com/php_course/php_zend/regex-yuanzi.html

>> 转载请注明: 恩聪php 2014年07月31日 于 恩聪PHP学习教程 发表