PHP preg_match 查找多次出现

标签 php preg-match

在 PHP 中使用 preg_match 查找同一字符串多次出现的正则表达式的正确语法是什么?

例如,查找以下字符串是否在以下段落中出现两次:

$string = "/brown fox jumped [0-9]/";

$paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence"

if (preg_match($string, $paragraph)) {
echo "match found";
}else {
echo "match NOT found";
}

最佳答案

您想使用 preg_match_all() .这是它在您的代码中的样子。实际函数返回找到的项目数,但 $matches 数组将保存结果:

<?php
$string = "/brown fox jumped [0-9]/";

$paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence";

if (preg_match_all($string, $paragraph, $matches)) {
  echo count($matches[0]) . " matches found";
}else {
  echo "match NOT found";
}
?>

将输出:

2 matches found

关于PHP preg_match 查找多次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2029976/

相关文章:

php - Laravel 5 API 授权用于使用 Facebook 进行授权的移动应用程序

php正则表达式至少匹配3个字符?

php - 困惑在哪里寻找那个<符号

php - 用于捕获方括号之间的字符串的正则表达式

javascript - 如何在 AngularJS 中使用 CKEditor 上传图像?

php - 有没有一种方法可以使用 php 代码从 mysql 二进制日志文件读取并在数据库中插入查询语句?

php - utf8 不适用于 mysql

php - 无法使用 SHOPIFY PHP API 更新产品

php - 分隔符不能是字母数字或反斜杠和 preg_match

php - 正则表达式 PHP IF 包含和限制