前面我们已经学习了正则表达式的基础语法,包括了定界符、原子、元字符和模式修正 符。实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数。本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,主要包含了分割, 匹配,查找,替换等等处理操作,依旧是配合示例讲解,让我们开始吧。
和正则表达式一样,正则表达式处理函数不能够独立使用,而这必须相结合,才能够完成特定的功能。在前面我们也说过,基于perl的正则表达式要快于POXIS正则表达式处理函数,所以我们只介绍以preg开头的基于perl的正则表达式。注意:在能偶使用字符串函数处理的时候,就不要使用正则表达式来处理字符串,因为字符串处理函数更快。
下面我们来看一些常用的正则表达式处理函数。
1,preg_match()函数。
函数preg_match()执行一个正则表达式匹配,其定义如下:
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
实际上就是搜索subject中匹配pattern的部分, 以保存在数组matches中.请看示例:
复制代码 代码如下:
php
$pattern = '/.*?/';
$string = 'welcome to phpfunsdsadsadas';
if (preg_match($pattern, $string, $arr)) {
echo "正则表达式{$pattern}和字符串{$string}匹配成功
";
print_r($arr);
} else {
echo "正则表达式{$pattern}和字符串{$string}匹配失败";
}
?>
复制代码 代码如下:
$pattern = '/.*?/';
$string = 'welcome to phpfunsdsadsadas';
if (preg_match_all($pattern, $string, $arr)) {
echo "正则表达式{$pattern}和字符串{$string}匹配成功
";
print_r($arr);
} else {
echo "正则表达式{$pattern}和字符串{$string}匹配失败";
}
?>
复制代码 代码如下:
$pattern = '/(php)|(mysql)/e';
$string = '这个字符串中的php和mysql被替换成大写的了!';
$result = preg_replace($pattern, 'strtoupper("${1}\2")', $string, -1, $count);
echo $result.'
';
echo $count;
?>
复制代码 代码如下:
$pattern = '/
(.*?)/';
$string = '这个字符串中的
php
和mysql
被分割了!';
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号