您的位置:首页 > 编程语言 > PHP开发

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~’。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: