PHP正则表达式匹配规则,修饰符详解,preg_match_all,preg_replace,preg_split,preg_grep等的用法

PHP正则表达式匹配规则,修饰符详解,preg_match_all,preg_replace,preg_split,preg_grep等的用法

preg_match(匹配规则,字符串,[接收匹配结果的数组]):对字符串使用正则表达式,只要找到第一个符合规则的字符,有结果返回TRUE,没结果返回FALSE

/匹配规则/is:定界符://,修饰符:is,i代表不区分大小写

\d:任意一个从0-9的数字

\D:任意不是数字的字符

\w:匹配0-9,a-z,A-Z,_

\W:匹配非单词字符

\s:匹配一个空白字符,如:\f分页 \n换行 \r回车 \t制表 \v垂直列表

\S:匹配所有非空白字符

\b:匹配单词边界

\B:匹配非单词边界

[]:原子表

[^]:非原子表

|:或语法,如/er|ing/匹配er或ing

^:取反,放在最前面表示只能以它开头,如:^\d表示非数字,如:/^(\d)/,表示只能以数字开头

$:放在最后,表示只能以它结束,如:/匹配规则\d$/,表示只能以数字结束

():原子组,会有分组号如:\\1   \\2

(?:):原子组,不会有分组号

{}:用来指定匹配多少个,如:\d{1},只匹配一个数字。\d{0,3},匹配0-3个数字。\d{3,},匹配3或更多个数字

(?#内容):正则表达式中的注释

.:代表任意一个非换行字符

*:重复匹配,如:\d*表示匹配无数个数字包括0个

+:匹配一个或者多个,如:\d+表示匹配1个或无数个数字

?:匹配0个或者一个

(?<=内容):断言匹配,如:(?<=aaa).*,会把aaa后面的内容全部匹配出来

preg_match_all(匹配,字符串,[接收匹配结果的数组],[PREG_SET_ORDER]):对字符串使用正则表达式,找所有符合规则的字符,有结果返回TRUE,没结果返回FALSE

preg_replace(匹配规则,替换规则,字符串):对满足条件的字符串进行替换,返回替换后的结果

修饰符:

i:忽略大小写

U:禁止贪婪匹配

preg_split(正则,字符串):将字符串按正则规则拆分,返回一个数组

preg_grep(正则,数组):将数组中所有元素进行正则匹配,返回一个数组


最后编辑于:2019/09/04作者: 牛逼PHP

发表评论