php - Preg_match 标识符

标签 php regex preg-match

我想从我的标识符中获得匹配项。

我在 {/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/

相关文章:

php - Wordpress 中的 SQL SELECT 函数不起作用

php - 在PHP扩展中,推荐的方法从and std::string返回值

javascript - 删除字符串开头和结尾的换行符

php - 如何将组与 preg_match 一起使用?

用于检测分页的 PHP 正则表达式

PHP处理以分号分隔的CSV文件

php - 如何将 JPG 图片保存为 4 :2:0 colorspace with Imagick?

mysql匹配选择像主题标签,没有全文

regex - 删除 R 中向量中每个数字的末尾

php - 如何在 php 中构建 preg_match 的正则表达式