PHP PCRE是一种正则表达式引擎,用PHP语言编写而成,可以在PHP中使用正则表达式,实现字符串匹配、替换等功能。如下所示:
这段代码会输出"Matched!",因为字符串$str以"Hello"开头,与正则表达式$pattern匹配。
下面我们来看看PCRE提供的一些常用函数和正则表达式语法。
1. preg_match()
preg_match()函数用于在字符串中查找匹配正则表达式的文本,并返回第一个匹配项。如果没有找到匹配项,则返回false。函数语法如下:
其中,$pattern是正则表达式,$subject是要匹配的字符串,$matches用于存储匹配到的子模式,$flags是匹配选项,$offset是开始搜索的位置。
下面来看一个例子:
这段代码匹配到了"quick brown fox"这个字符串,并存储了"brown "这个子模式。
2. preg_replace()
preg_replace()函数用于在字符串中搜索正则表达式匹配的文本,并用新文本替换它。函数语法如下:
其中,$pattern是正则表达式,$replacement是替换的字符串,$subject是要进行替换的字符串,$limit是替换次数的限制,$count是替换的次数。
下面来看一个例子:
这段代码将匹配到"brown ",并将其替换成"red ",输出结果为:"The quick red fox jumps over the lazy dog."。
除了这两个函数,PCRE还提供了很多其他函数,如preg_split()、preg_grep()等,这里就不再赘述。同时,PCRE的正则表达式语法也非常强大,包括字符类、重复模式、分组等。有兴趣的读者可以去查阅相关资料,继续深入学习。
$str = "Hello, world!"; $pattern = "/^Hello/"; if (preg_match($pattern, $str)) { echo "Matched!"; } else { echo "Not matched!"; }
这段代码会输出"Matched!",因为字符串$str以"Hello"开头,与正则表达式$pattern匹配。
下面我们来看看PCRE提供的一些常用函数和正则表达式语法。
1. preg_match()
preg_match()函数用于在字符串中查找匹配正则表达式的文本,并返回第一个匹配项。如果没有找到匹配项,则返回false。函数语法如下:
int preg_match( string $pattern, string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
其中,$pattern是正则表达式,$subject是要匹配的字符串,$matches用于存储匹配到的子模式,$flags是匹配选项,$offset是开始搜索的位置。
下面来看一个例子:
$str = "The quick brown fox jumps over the lazy dog."; $pattern = "/quick (.* )fox/"; if (preg_match($pattern, $str, $matches)) { echo $matches[0]; //输出 "quick brown fox" echo $matches[1]; //输出 "brown " }
这段代码匹配到了"quick brown fox"这个字符串,并存储了"brown "这个子模式。
2. preg_replace()
preg_replace()函数用于在字符串中搜索正则表达式匹配的文本,并用新文本替换它。函数语法如下:
mixed preg_replace( mixed $pattern, mixed $replacement, mixed $subject [, int $limit = -1 [, int &$count ]] )
其中,$pattern是正则表达式,$replacement是替换的字符串,$subject是要进行替换的字符串,$limit是替换次数的限制,$count是替换的次数。
下面来看一个例子:
$str = "The quick brown fox jumps over the lazy dog."; $pattern = "/brown\s/"; $replacement = "red "; echo preg_replace($pattern, $replacement, $str);
这段代码将匹配到"brown ",并将其替换成"red ",输出结果为:"The quick red fox jumps over the lazy dog."。
除了这两个函数,PCRE还提供了很多其他函数,如preg_split()、preg_grep()等,这里就不再赘述。同时,PCRE的正则表达式语法也非常强大,包括字符类、重复模式、分组等。有兴趣的读者可以去查阅相关资料,继续深入学习。