PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了常用的php正则表达及语法注解总结大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
基本语法

界定符:

Copy$pattern = '/[0-9]/';  //我喜欢这个,看起来比较简洁 $pattern = '#[0-9]#';

原子:

元字符

原子的筛选方式:

量词

边界控制

模式单元

() 匹配其中的整体为一个原子, 如: (X|X)iaomi , 可以匹配到 xiaomi

修正模式

贪婪匹配

匹配结果存在歧义时取其长(认)

懒惰匹配

匹配结果存在歧义时取其短,只需在正则表达式的后面'/'加上'U',例如'/[0-9]/U';
例子:

Copy$subject = "test__123123123";
preg_match('/test.+123/', $subject, $matches); //贪婪模式  var_dump($matches);
preg_match('/test.+123/U', $subject, $matches); //懒惰模式var_dump($matches);

常见的修正模式:

常用函数

preg_match

执行匹配正则表达式

preg_match ( String $pattern , String $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) : int

pattern: 要搜索的模式,字符串类型。subject:输入字符串。match: 如果提供了参数matches,它将被填充为搜索结果,数据结构为一维数组。flags: 可以设置为PREG_OFFSET_CAPTURE,使用搜索结果的第0个元素为匹配的字符串,第1个元素为对应的偏移量(位置)offset: 搜索目标字符串起始位置开始匹配。

返回值:匹配次数
类似函数preg_match_all,参数与preg_match一致
区别:

preg_match:只匹配一次,搜索结构match的数据结果为一维数组preg_match_all:匹配全部,@L_88_5@match的数据结构为二维数组。

preg_replace

执行一个正则表达式搜索和替换,返回值为替换后的字符串

preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) : mixed

pattern:要搜索的模式。可以是一个字符串或字符串数组。replacement:用于替换的字符串或字符串数组subject:要进行搜索和替换的字符串或字符串数组。limit:替换的最大次数认是 -1(无限)。count:替换次数
类似函数preg_filter,参数与preg_replace一致
区别(使用数组进行匹配的时候才看得出区别):preg_replace:不管是否有替换,返回全部结果preg_filter:只返回匹配的结果。

preg_split

通过一个正则表达式分隔字符串

preg_split ( String $pattern , String $subject [, int $limit = -1 [, int $flags = 0 ]] ) : array

PREG_SPLIT_DELIM_CAPTURE这个参数可能比较难明白,举个例子看看:

Copy$subject = "1a23b";  
$a = preg_split('/[\d]/', $subject, -1, PREG_SPLIT_NO_EMPTY);  
var_dump($a);  
$a = preg_split('/([\d])/', $subject, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); 
var_dump($a);

输出如下:

preg_grep

返回匹配模式的数组条目

preg_grep ( String $pattern , array $input [, int $flags = 0 ] ) : array

$pattern:要搜索的模式,字符串形式$input:输入数组flags:如果不设置则返回匹配的数目,设置PREG_GREP_INVERT则返回不匹配的数目。

preg_quote

转义正则表达式字符,返回为转义后的字符串

preg_quote ( String $str [, String $delimiter = NULL ] ) : String

str:输入字符串delimiter:需要转义的字符串

大佬总结

以上是大佬教程为你收集整理的常用的php正则表达及语法注解总结全部内容,希望文章能够帮你解决常用的php正则表达及语法注解总结所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: