PHP正则表达式函数使用实战
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.
