使用正则表达式解析“{value}”形式的值列表

时间:2010-04-22 19:22:58

标签: php regex pcre

我有一个如下所示的字符串({}的编号未知):

{test}{test1}{test2}{test3}{test4}

现在我想将{}中的内容输出并将它们放入数组中。我怎样才能做到这一点?我试过了:

preg_match( "/(\{{\S}+\}*/)*")

但结果是错误的。非常感谢任何人的帮助。

3 个答案:

答案 0 :(得分:5)

preg_match_all('/{(.*?)}/', $string, $match);
print_r($match[1]);

答案 1 :(得分:5)

<?php
$string = '{test}{test1}{test2}{test3}{test4}';
$parts = explode('}{', substr($string, 1, -1));

此解决方案避免使用通常比简单字符串函数慢的正则表达式。此外,许多程序员希望在适当的时候避免使用正则表达式。

答案 2 :(得分:1)

尝试preg_match_all('/\{(.+)\}/U', $text)