如何解析PHP中特定分隔部分的字符串?

时间:2010-02-25 04:56:26

标签: php regex parsing

我有一个字符串,例如“[{XYZ123}]这是一个测试”,需要解析[{和}]之间的内容并转储到另一个字符串中。我假设正则表达式是为了实现这一点,但由于它不适合胆小的人,我没有尝试并且需要你的帮助。

在[{和}]之间拉片段的最佳方法是什么?在此先感谢您的帮助!

3 个答案:

答案 0 :(得分:4)

<?php
$str = "[{XYZ123}] This is a test";

if(preg_match('/\[{(.*?)}\]/',$str,$matches)) {

 $dump = $matches[1];

 print "$dump";  // prints XYZ123
}

?>

答案 1 :(得分:3)

$str = "[{XYZ123}] This is a test";
$s = explode("}]",$str);
foreach ($s as $k){
  if ( strpos($k,"[{") !==FALSE ){
    $t = explode("[{",$k); #or use a combi of strpos and substr()
    print $t[1];
  }
}

答案 2 :(得分:2)

正则表达式是(?=\[\{).*(?=\}\]),但我不知道php是否支持预测。