正则表达式的基本语法

  • 界定符 :表示一个正则表达式的开始和结束
    告诉解析器 这一段是一段正则表达式
    /[0-9]/ #[0-9]# {[0-9]}
    $pattern = ‘/[0-9]/’;

  • 正则表达式工具
    regexpal工具
    http://www.atool.org/regex.php

  • 原子
    * 可见原子
    Unicode编码表中用键盘输入后肉眼可见的字符
    包含:
    标点 ;” _ ? .等
    英文字母数字 a-z A-Z 0-9
    汉字 日文 阿拉伯等其他语言
    数理化公式符号
    其它可见字符
    * 不可见原子
    换行符 \n
    回车 \r
    制表符 \t
    空格
    其他不可见符号

小提示:凡是带文字正则匹配,先把文字转化成Unicode编码 在进行匹配。可以有效的避免由于编码问题带来的匹配失败。
如;匹配\ 先转译Unicode得到:\u005c 在进行匹配

  • 元字符
    | 匹配两个或者多个分支选择
    [] 匹配方括号中任意一个原子
    [^] 匹配出方括号中原子之外的任意字符

  • 原子的集合

   .       //匹配除了换行之外的任意字符
   \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_]
  • 量词
   {n} 原子刚好出现n次
   {n,}原子最少出现n次
   {n,m}原子最少出现n次 最多出现m次
   * 匹配零次一次或者多次 即:{0,}
   + 匹配出现1次或者多次 即:{1,}
   ? 匹配出现零次或者1次 即:{0,1}

例子:
_?i 匹配:i跟_i

* 边界控制
边界控制符号:
^ 匹配字符串开始位置
$ 匹配字符串结束位置

模式单元
* () 模式单元 匹配其中的整体为一个原子

猜你喜欢

转载自blog.csdn.net/qq_17040587/article/details/82184367