php正则表达式—基本语法
2015-06-10 01:01
609 查看
正则表达式的语法要点有:
界定符
(
表示正则表达式开始和结束的位置,如/[0-9]/或#[0-9]#或{[0-9]}中的’/’、’#’、’{}’,但是由于’{}’即是正则表达式的界定符
也是正则表达式的运算符,所以不建议使用’{}’作为正则表达式的界定符,以免发生歧义。
不同的语言由于编译器或者解释器的不同,所以界定符可能会有所不同。
)
原子
(
原子是正则表达式中最小的匹配单位,分为可见原子和不可见原子。
可见原子:Unicode编码表中用键盘输出后肉眼可见的字符。包括标点符号、英文字母、数字、汉字、日文等其他文字、数
理化公式符号、其他可见字符。
不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符。包括换行符\n、回车\r、制表符\t、空格、其他不可见符
号。
)
元字符
(
它有两个作用:
一.定义原子的筛选方式;
(
原子的筛选方式:
‘|’ —— 匹配两个或多个分支选择,竖杠两边既可以是一个原子,也可以是一连串原子。但是它会将竖杠两边的内容当作
两个整体来进行匹配,并不会匹配某个单一的原子,例如:’Duang~|duang~’会匹配到’Duang~’或者’duang~’;
‘[]’ —— 匹配方括号中的任意一个原子,方括号中只能为原子。例如:[Dd]uang~会匹配到’Duang~’或者’duang~’;
‘[^]’——匹配除方括号中的原子之外的任意字符,注意’^’必须要跟在’[‘的后面不能分开,否则不会正确匹配;
)
二.将某一类原子进行归类(原子的集合),简化书写方式;
(
‘.’ —— 匹配除换行符之外的任意字符;
‘\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次或多次其前面的原子,即{0,};
‘+’ —— 匹配1次或多次其前面的原子,即{1,};
‘?’ —— 匹配0次或1次其前面的原子,即{0,1}。如’_?i’可以匹配到’i’或’_i’;
)
边界控制
(
它有两个符号:
‘^’ —— 匹配字符串开始的位置,如’^Duang~’,表示目标字符串必须以’D’开头,才能被匹配到;
‘$’ —— 匹配字符串结尾的位置,如’Duang~$’,表示目标字符串必须以’~’结尾,才能被匹配到;
)
模式单元
(
模式单元是一对括号():
‘( )’ —— 匹配其中的整体,把这个整体作为一个原子来看待,如’(D|d)uang~’可匹配到’Duang~或者duang~’。
)
界定符
(
表示正则表达式开始和结束的位置,如/[0-9]/或#[0-9]#或{[0-9]}中的’/’、’#’、’{}’,但是由于’{}’即是正则表达式的界定符
也是正则表达式的运算符,所以不建议使用’{}’作为正则表达式的界定符,以免发生歧义。
不同的语言由于编译器或者解释器的不同,所以界定符可能会有所不同。
)
原子
(
原子是正则表达式中最小的匹配单位,分为可见原子和不可见原子。
可见原子:Unicode编码表中用键盘输出后肉眼可见的字符。包括标点符号、英文字母、数字、汉字、日文等其他文字、数
理化公式符号、其他可见字符。
不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符。包括换行符\n、回车\r、制表符\t、空格、其他不可见符
号。
)
元字符
(
它有两个作用:
一.定义原子的筛选方式;
(
原子的筛选方式:
‘|’ —— 匹配两个或多个分支选择,竖杠两边既可以是一个原子,也可以是一连串原子。但是它会将竖杠两边的内容当作
两个整体来进行匹配,并不会匹配某个单一的原子,例如:’Duang~|duang~’会匹配到’Duang~’或者’duang~’;
‘[]’ —— 匹配方括号中的任意一个原子,方括号中只能为原子。例如:[Dd]uang~会匹配到’Duang~’或者’duang~’;
‘[^]’——匹配除方括号中的原子之外的任意字符,注意’^’必须要跟在’[‘的后面不能分开,否则不会正确匹配;
)
二.将某一类原子进行归类(原子的集合),简化书写方式;
(
‘.’ —— 匹配除换行符之外的任意字符;
‘\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次或多次其前面的原子,即{0,};
‘+’ —— 匹配1次或多次其前面的原子,即{1,};
‘?’ —— 匹配0次或1次其前面的原子,即{0,1}。如’_?i’可以匹配到’i’或’_i’;
)
边界控制
(
它有两个符号:
‘^’ —— 匹配字符串开始的位置,如’^Duang~’,表示目标字符串必须以’D’开头,才能被匹配到;
‘$’ —— 匹配字符串结尾的位置,如’Duang~$’,表示目标字符串必须以’~’结尾,才能被匹配到;
)
模式单元
(
模式单元是一对括号():
‘( )’ —— 匹配其中的整体,把这个整体作为一个原子来看待,如’(D|d)uang~’可匹配到’Duang~或者duang~’。
)
相关文章推荐
- PHP中生成UUID自定义函数分享
- 简单谈谈php中的unicode和utf8编码
- PHP滚动日志的代码实现
- php将图片文件转换成二进制输出的方法
- PHP实现将textarea的值根据回车换行拆分至数组
- PHP获取文件行数的方法
- php中动态变量用法实例
- php动态变量定义及使用
- php简单实现发送带附件的邮件
- php发送html格式文本邮件的方法
- PHP获得数组交集与差集的方法
- php使用Jpgraph绘制简单X-Y坐标图的方法
- php使用Jpgraph绘制复杂X-Y坐标图的方法
- php使用Jpgraph绘制柱形图的方法
- php使用Jpgraph绘制饼状图的方法
- php使用Jpgraph绘制3D饼状图的方法
- php使用GD库创建图片缩略图的方法
- php简单图像创建入门实例
- 如何在Mac OS X yosemite上配置PHP开发环境
- yii2 RBAC使用DbManager来实现后台的权限判断