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

在PHP中使用preg_match()进行字符串匹配,php,string,Php,String,我有一根类似这样的绳子 $str="syx.ypzd [xys.ypd] yup"; 我正在尝试获取[]中的值 我有一个类似这样的代码 preg_match('[xys.ypd]', $str, $Fdesc); echo $Fdesc[1]; 但这是行不通的 请告诉我哪里出了问题 感谢和问候您没有使用正确的语法: /\[(.*)\]/ 这个将匹配[和]之间的内容 /正则表达式的开始 \[与[ (.*)匹配任意数量的字符(括号中的“捕获”此部分,以便在结果中获得它) \]与] /正则表达

我有一根类似这样的绳子

$str="syx.ypzd [xys.ypd] yup";
我正在尝试获取
[]
中的值

我有一个类似这样的代码

preg_match('[xys.ypd]', $str, $Fdesc);
echo $Fdesc[1];
但这是行不通的

请告诉我哪里出了问题


感谢和问候

您没有使用正确的语法:

/\[(.*)\]/
这个将匹配
[
]
之间的内容

  • /
    正则表达式的开始
  • \[
    [
  • (.*)
    匹配任意数量的字符(括号中的“捕获”此部分,以便在结果中获得它)
  • \]
    ]
  • /
    正则表达式的结尾
守则:

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

下面是一些有效的代码

$str="syx.ypzd [xys.ypd] yup"; preg_match('[xys.ypd]', $str, $Fdesc); print_r($Fdesc); $str=“syx.ypzd[xys.ypd]yup”; 预匹配(“[xys.ypd]”,$str,$Fdesc); 打印(Fdesc); 输出:

排列 ( [0]=>xys.ypd )试试这个

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

你需要花更多的精力来解决你的问题。现在,这个答案的区别在哪里:?没有看到那个。你是对的。