php中正则表达式基本语法

时间:2022-12-03 19:15:53

php中正则表达式基本语法

1、界定符:表达一个正则表达式的开始和结束,可以用//、##、{}表示开始和结束,一般不用{}
2、原子:分为可见原子和不可见原子。可见原子:Unicode编码表中用键盘输出后肉眼可见的字符。不可见原子:Unicode编码表中用键盘输出后肉眼不可见的字符(比如说换行符\n和回车\r和制表符\t)

原子的筛选方式:
(1)|匹配两个或者多个分支选择
(2)[]匹配方括号中的任意一个原子
(3)[^]匹配除方括号中的原子之外的任意字符

原子的集合:
(1). 匹配除换行符之外的任意字符
(2)\d匹配任意一个十进制数字,即[0-9]
(3)\D匹配任意一个非十进制数字,即[^0-9]
(4)\s匹配一个不可见原子,即[^\f\n\r\t\v]
(5)\S匹配一个可见原子,即[^\f\n\r\t\v]
(6)\w匹配任意一个数字、字母或下划线,即[0-9a-zA-Z_]
(7)\W匹配任意一个非数字、字母或下划线,即[^0-9a-zA-Z_]

3、量词(表示几次,前面必须是[]这样的形式):
(1){n}表示其前面的原子恰好出现n次
(2){n,}表示其前面的原子最少出现n次
(3){n,m}表示其前面的原子最少出现n次,最多出现m次
(4)* 匹配0次、一次或者多次其之前的原子,即{0,}
(5)+ 匹配1次或者多次其之前的原子,即{1,}
(6)? 匹配0次或者1次其之前的原子,即{0,1}

4、边界控制:^表示必须以^符号后的一个字符串开始 符号前的一个字符串结束
5、控制单元:()表示,()里的正则表达式会被当做一个原子来处理

6、匹配字符串的基本模式:(1)默认是贪婪匹配(有歧义时取最长的) (2)界定符前加U表示懒惰匹配(有歧义时取最短的)
比如:正则表达式/imooc.+123/表示默认的贪婪匹配,当字符串是I love imooc__123123123123123123时,取imooc__123123123123123123

比如:正则表达式/imooc.+123/U表示懒惰匹配,当字符串是I love imooc__123123123123123123时,取imooc__123

7、常见的修正模式:
(1)U/u-懒惰匹配/贪婪匹配
(2)i-忽略英文字母大小写
(3)x-忽略空白
(4)s-让元字符’.’匹配包括换行符在内的所有字符
(5)e-