使用 preg_match 提取 ID 无效

Extract ID using preg_match not working

我正在尝试使用 preg_math 从这样的内容中提取 ID 号...

$content = "[gravityform id="837" name="Test Form" title="false" description="false"]";
preg_match('/[gravityform\s*id="\s*([0-9]+)/i', $content, $id);
echo $id[1];

虽然这对我不起作用并且返回错误..

preg_match(): Compilation failed: unmatched parentheses 

我哪里出错了?preg_match 这样做的最佳方法是什么?

在 $content 中使用单引号以避免编译错误并转义正则表达式开头的 [:

$content = '[gravityform id="837" name="Test Form" title="false" description="false"]';
preg_match('/\[gravityform\s*id="\s*([0-9]+)/i', $content, $id);
echo $id[1];

输出:

837