我想从我的标识符中获得匹配项。
我在 {/describe:foo}
中有一个这样的字符串,我正在尝试
匹配 {/describe:}
以返回 foo
,但我没有得到正确的正则表达式,会
有人介意指出我做错了什么吗?这是我的比赛。
$regexp = '/\{describe:(.*?)\}/i';
$query = '{/describe:foo}';
preg_match($regexp, $query, $match);
print_r($match); // (bool) false
背景 我希望这可以帮助其他人,这样做的一个很好的理由是创建可替换的 字符串中可以解释和替换的控制词,这是一个例子 将在控制字上运行描述符的 RESTful 海报。
if (preg_match('/\{describe:(.*?)\}/i', $_POST['query'], $match))
{
// Describe Salesforce Object from internal POST tool
print_r($SforceConnection->describeSObjects($match[1]));
exit;
}
最佳答案
您的正则表达式中缺少正斜杠:
$regexp = '/\{\/describe:(.*?)\}/i';
或:
$regexp = '#\{/describe:(.*?)\}#i';
关于php - Preg_match 标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528800/