在PHP中使用preg_match()进行字符串匹配

时间:2015-04-20 11:47:33

标签: php string

我有一个像这样的字符串

$str="syx.ypzd [xys.ypd] yup";

我想在[ ]内获取值。

我有类似的代码

preg_match('[xys.ypd]', $str, $Fdesc);
echo $Fdesc[1];

但这不起作用

请告诉我出错的地方

谢谢&问候

3 个答案:

答案 0 :(得分:2)

您没有使用正确的语法:

/\[(.*)\]/

这个匹配[]之间的内容。

  • /正则表达式的开头
  • \[[
  • 相匹配
  • (.*)匹配任意数量的字符(括号“捕获”此部分,因此您将在结果中得到它)
  • \]]
  • 相匹配
  • /正则表达式的结尾

代码:

preg_match('/\[(.*)\]/', $code, $Fdesc);

答案 1 :(得分:1)

以下是一些有效的代码

  $str="syx.ypzd [xys.ypd] yup";
  preg_match('[xys.ypd]', $str, $Fdesc);
  print_r($Fdesc);

输出:

阵 (     [0] => xys.ypd )

答案 2 :(得分:1)

试试这个。

preg_match('\[(.*)\]', $code, $Fdesc);
echo $Fdesc[1];