欢迎访问宙启技术站
智能推送

PHP正则表达式函数使用实战

发布时间:2023-06-11 04:20:54

PHP正则表达式函数是对字符串进行处理的最常用的方法之一,可以通过一些简单的函数来解析字符串、截取字符串、搜索字符串等等操作。在实际编程过程中,常常遇到需要使用正则表达式来对字符串进行筛选的情况,而PHP正则表达式函数的使用为我们提供了一种非常方便的实现方式。

一、PHP正则表达式函数的介绍

1. preg_match:对字符串进行匹配查找,返回匹配结果数量。

2. preg_replace:对字符串进行替换操作,返回被替换后的字符串。

3. preg_split:对字符串进行分割操作,返回分割后的数组。

4. preg_match_all:对字符串进行全局匹配查找,返回匹配结果的所有位置。

5. preg_filter:对字符串进行过滤操作,返回新的字符串。

二、正则表达式的元字符

. : 匹配任意字符,除了换行符。

^:以什么开头。

$:以什么结尾。

*:前面的子表达式可以出现0次或多次,例如:/bo*/匹配"bo"、"boo"、"booo"等等。

+:前面的子表达式可以出现1次或多次,例如:/bo+/匹配"bo"、"boo"、"booo"等等。

?:前面的子表达式可以出现0次或1次,例如:/bo?/匹配"b"、"bo"等等。

|:在两个或多个可能的匹配中选择一个,例如:/jpe?g|gif|bmp/匹配"jpg"、"jpeg"、"gif"、"bmp"等等。

():将括号内的部分作为一个子表达式。

[...]:表示范围,例如:/[abc]/匹配"a"、"b"、"c"中任意一个字符。

三、PHP正则表达式函数的使用实战

1. preg_match函数的使用

preg_match函数用来匹配指定字符的出现次数,在匹配之后返回匹配结果的数量。

例子1:

$str = "Hello, world!";  

if (preg_match("/Hello/", $str)) {  

   echo "匹配成功!";  

} else {  

   echo "匹配失败。";  

输出结果:匹配成功!

例子2:

$str = "Hello, world!";  

if (preg_match("/World/", $str)) {  

   echo "匹配成功!";  

} else {  

   echo "匹配失败。";  

输出结果:匹配失败。

2. preg_replace函数的使用

preg_replace函数用于对字符串进行匹配和替换操作,在替换之后返回新的字符串。

例子1:

$str = "Visit Microsoft!";  

$newstr = preg_replace("/Microsoft/", "Google", $str);  

echo $newstr; 

输出结果:Visit Google!

例子2:

$str = "red blue green yellow";  

$newstr = preg_replace("/blue|green/", "white", $str);  

echo $newstr; 

输出结果:red white white yellow。

3. preg_split函数的使用

preg_split函数用于对字符串进行分割操作,并且返回分割后的数组。

例子1:

$str = "hello world";  

$array = preg_split("/[ ,]/", $str);  

print_r($array); 

输出结果:Array ( [0] => hello [1] => world )。

4. preg_match_all函数的使用

preg_match_all函数用于对字符串进行全局匹配查找操作,并将所有匹配结果的位置存储在一个数组中。

例子1:

$str = "Visit Microsoft! Microsoft is a professional IT company. Microsoft is my dream company.";  

$num = preg_match_all("/Microsoft/", $str, $matches);  

print_r($matches); 

输出结果:Array ( [0] => Array ( [0] => Microsoft [1] => Microsoft [2] => Microsoft ) )。

5. preg_filter函数的使用

preg_filter函数用于对字符串进行过滤操作,并返回新的字符串。

例子1:

$str = "This is an example of PHP. PHP is a popular language.";  

$newstr = preg_filter("/PHP/", "Java", $str);  

echo $newstr; 

输出结果:This is an example of Java. Java is a popular language.