文
章
目
录
章
目
录
正则表达式在PHP中的使用 在PHP中,您可以通过使用PCRE(Perl Compatible Regular Expression)库的函数来使用正则表达式(regex)。
PHP处理正则内置函数
下表中有不同类型的内置函数,这些函数用于处理正则表达式。这些函数是区分大小写的。
函数名 | 描述 |
---|---|
preg_match() | preg_match() 函数在正则表达式与特定字符串匹配时返回 true,否则返回 false。 |
preg_match_all() | preg_match_all() 函数用于匹配字符串中所有出现的模式。 |
preg_replace() | preg_replace() 函数匹配模式然后用指定字符串替换它。 |
preg_split() | preg_split() 函数使用正则表达式将字符串分割成子字符串。 |
preg_grep() | preg_grep() 函数用于返回输入数组中与正则表达式模式匹配的所有元素。 |
在PHP中使用正则表达式的示例
示例1:
以下示例有助于理解如何在正则表达式中使用字符类或组来与字符串匹配。
<?php
$regExp = "/[a-zA-Z]+ \d+/"; // 正则表达式,匹配由一个或多个字母,空格,和一个或多个数字组成的字符串。
if (preg_match($regExp, "Januaury 26")) { // 使用 preg_match 函数检查正则表达式与字符串是否匹配,如果匹配则执行 if 语句,否则执行 else 语句。
echo "正则表达式和字符串相匹配。"; // 如果匹配成功,输出这条消息。
} else {
echo "正则表达式模式与字符串不匹配。"; // 如果匹配失败,输出这条消息。
}
?>
这段代码用于验证字符串 “Januaury 26” 是否符合正则表达式的模式,并根据匹配结果输出不同的消息。在这种情况下,由于字符串满足正则表达式模式,所以会输出 “正则表达式和字符串相匹配。”
示例2:
以下示例有助于理解如何在PHP代码中使用’^’字符。
<?php
$regexp = "/^J/"; // 正则表达式,匹配以大写字母 "J" 开头的字符串。
$employeenames = array("Clark Kent", "John Carter", "John Rambo"); // 包含员工姓名的字符串数组。
$matches = preg_grep($regexp, $employeenames); // 使用 preg_grep 函数将以 "J" 开头的名称存储在 $matches 变量中。
// 遍历匹配数组并显示匹配的名称
foreach ($matches as $match) {
echo $match . "<br>"; // 打印匹配的名称,每个名称后面跟一个换行符 ("<br>")。
}
?>
这段代码使用正则表达式筛选了以大写字母 “J” 开头的员工名称,并将它们逐个打印到输出中。在这个例子中,”John Carter” 和 “John Rambo” 符合正则表达式模式,因此它们被存储在 $matches
变量中并被打印出来。