你如何返回php正则表达式的实际匹配结果

时间:2011-06-20 03:48:48

标签: php

我有一个字符串,需要从中获取一段特定的文本。该块总是被包含在已知数量的其他文本中,因此它易于使用正则表达式来通过其周围环境找到所需的块。在PHP中,最好的方法是什么?我已经阅读了处理正则表达式的各种函数的手册页,但几乎所有这些函数似乎都返回匹配数,但不是匹配本身。

我的目标是获得匹配的结果,然后使用preg_replace去除已知数量并留下我想要的文本。

1 个答案:

答案 0 :(得分:1)

if (!preg_match('/foo (expression) bar/', $text, $matches)) {
    // text didn't match!
}

echo $matches[1];

您将一个额外的变量作为第三个参数传递给preg_match,此处为$matches$matches[0]将包含整个正则表达式匹配,matches[1]第一个()组,$matches[2]第二个()组等。