官方手册正则语法:http://php.net/manual/zh/reference.pcre.pattern.syntax.php

正则表达式在线测试工具:regexpal

正则表达式的匹配先后顺序:
1.模式单元
2.重复匹配 ? * + {}
3.边界限定 ^ $ b B
4.模式选择 |

1.分隔符:当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。

  例子:

    /foo bar/   #^[^0-9]$# 

  如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性

  可以在结束分隔符后面增加模式修饰符。 下面的例子是一个大小写不敏感的匹配:   #[a-z]#i

2.php中的原子

  什么是原子?原子是正则表达式的最基本组成单位,而且必须至少要包含一个原子。只要一个正则表达式可以单独使用的字符,就是原子。  分为可见原子,不可见原子:

  可见原子:Unicode编码表中键盘输出后肉眼可见的字符

    标点  ;">_等等

    英文字母   a-z,A-Z,0-9

    汉字,日文,阿拉伯文等其他语言

    数理化公式符号:Σ、∩、∈、∥、≌、△  

    其他可见字符

  不可见原子:Unicode编码表中键盘输出后肉眼看不见的字符 

   换行符 \n

   回车符 \r

   制表符 \t

   空格

     其他不可见字符

3.元字符的筛选方式:

  |:匹配两个或者多个分支选择

  []:匹配方括号中的任意一个原子

  [^]:匹配出方括号中的原子之外的任意字符

4.原子的集合

  . :匹配除换行符之外的任意字符

  \d:匹配任意一个十进制的数字,即[0,9]

  \D:匹配任意一个非十进制的数字,即[^0-9]

  \s:匹配一个不可见原子,即[\f\n\r\t\v]

  \S:匹配一个可见原子,即[^\f\n\r\t\v]

  \w:匹配任意一个数字,字母,下划线,即[0-9a-zA-Z]

  \W:匹配任意一个非数字,字母,下划线,即[^0-9a-zA-Z]

5.量词

  {n},表示其前面的原子恰好出现n次

  {n,m},表示其前面的原子最少出现n次,最多出现m次

  {n,},表示其前面的原子最少出现n次

  *,匹配0次,1次或者出现多次,{0,}

  +,匹配1次m,或者多次,{1,}

  ?,匹配0次,或者1次{0,1}

 6.模式单元
  (),  a(bc)*,匹配a后面跟0个或者多个bc

php 正则表达式二.基本语法的更多相关文章

  1. [.net 面向对象程序设计进阶] (3) 正则表达式 (二) 高级应用

    [.net 面向对象程序设计进阶] (2) 正则表达式 (二)  高级应用 上一节我们说到了C#使用正则表达式的几种方法(Replace,Match,Matches,IsMatch,Split等),还 ...

  2. Java基础-正则表达式(Regular Expression)语法规则简介

    Java基础-正则表达式(Regular Expression)语法规则简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.正则表达式的概念 正则表达式(Regular Exp ...

  3. javascript中正则表达式的基础语法

    × 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...

  4. python正则表达式二[转]

    原文:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一 ...

  5. php正则表达式入门-常用语法格式

    php正则表达式入门-常用语法格式 原文地址:http://www.jbxue.com/article/24467.html 分享下php正则表达式中的一些常用语法格式,用于匹配字母.数字等,个人感觉 ...

  6. Azure Terraform(二)语法详解

    一,引言 上篇文章开始,我们简单介绍了以下通过基础设施管理工具----- Terraform,通过它来统一管理复杂的云基础设施资源.作为入门演示,使用Terraform 部署Azure 资源组的方式直 ...

  7. Azure Bicep(二)语法简介

    一,引言 上一篇文章有介绍到 Azure Bicep 的部署问题,文中也只是演示部署范围为 Sub,并将演示的 Azure Resource Group 到 Azure.给定 Bicep 文件,可以部 ...

  8. 正则表达式(特殊字符)/Xpath语法/CSS选择器

    正则表达式(特殊字符) ^ 开头 '^b.*'----以b开头的任意字符 $ 结尾 '^b.*3$'----以b开头,3结尾的任意字符 * 任意长度(次数),≥0 ? 非贪婪模式,非贪婪模式尽可能少的 ...

  9. tn文本分析语言(二) 基本语法

    tn是desert和tan共同开发的一种用于匹配,转写和抽取文本的语言.解释器使用Python实现,代码不超过1000行. 本文主要介绍tn的基本语法.高级内容可以参考其他篇章.使用这样的语法,是为了 ...

随机推荐

  1. 统一修改 UINavigationBar backItem

    { UINavigationBar * navigationBar = [UINavigationBar appearance]; //返回按钮的箭头颜色 [navigationBar setTint ...

  2. 点滴积累【other】---win2003 service pack2 IIS 无法复制CONVLOG.EXE CONVLOG.EX_(转载)

    在安装的时候出现一个错误提示“安装程序无法复制文件CONVLOG.EX_”,上网找了下资料,说是在运行-中输入”esentutl /p %windir%/security/database/seced ...

  3. centos7和scientific linux7里面调出中文输入法

    默认安装后,却没有中文输入,于是研究以下,原来是没有调出来. 1.应用程序->系统工具->设置 2.选择“区域和语言” 3.这里默认会有一个汉语,如果没有,那么你当初选择安装的是英语,需要 ...

  4. bashrc,bash_profile和/etc/profile

    bashrc,bash_profile和/etc/profile 最近老出现在shell里面能跑的程序用鼠标双击app去不能跑.究其原因是因为环境变量的问题. 在类unix系统中一般有三个bash配置 ...

  5. 矩阵乘法C语言实现

    /* 矩阵乘法C语言实现 Slyar 2009.3.20 */   #include <stdio.h> #include <stdlib.h>   /* 给 int 类型定义 ...

  6. poj 2846 Repository

    题目大意:给你n个字符串,然后给你m个子串,看这个子串在上面的多少个串中,出现过: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2846 本题可以在字 ...

  7. JavaScript绘图类 (DIV绘图)

    主要的图形算法抄自一个叫w_jsGraphics.js的类库,第一次看到那个库的时候,感觉那是十分神奇的存在.不过估计现在那个库早就已经找不到了. 这是很早之前的一个DIV绘图类,那时候VML+SVG ...

  8. Zookeeper的结构和命令

    1. Zookeeper的特性 1.Zookeeper:一个leader,多个follower组成的集群. 2.全局数据一致:每个server保存一份相同的数据副本,client无论连接到哪个serv ...

  9. [转]wordpress安装插件的3种方式

    WordPress插件安装方法有几种?WordPress是一种使用PHP语言开发的博客平台,有些用户不知道怎么安装WordPress插件和主题的,所以今天小编就为大家介绍几种WordPress插件安装 ...

  10. spring+mybatis+javafx

    @Service用于标注业务层组件 @Controller用于标注控制层组件(如struts中的action) @Repository用于标注数据访问组件,即DAO组件. @Component泛指组件 ...