2016-08-15 72 views
-4

结束比方说,我有一个像提取字符串,并用特殊字符

这是{}新的{测试} {}字符串从我的字符串。

我的意图是获取由数组或列表中的{}包围的所有字符串。 所以我想:

{中} {测试} {string}里

子串不会在这里工作。可能是'正则表达式'是解决方案,但我无法让它为我工作。有人可以帮忙吗?

+2

_what_你尝试呢? – bwoebi

+1

向我们显示您的代码。 – Lokesh

回答

2

您想使用正则表达式。在这种情况下,要使用以下正则表达式:

/\{[^}]*\}/ 

这是什么意思?

  • / =正则表达式的开始
  • \{ =匹配字符{
  • [^}] =匹配除了}任何字符...
  • * = ... 1到无限次
  • \} =匹配字符}
  • 正则表达式

的10 =端可以使用该像这样:

$re = "/\{[^}]*}/"; 
$str = "This {is} a new {test} {string} from me."; 

preg_match_all($re, $str, $matches); 

print_r($matches[0]); 

其中$matches[0]是匹配的阵列。这将输出:

阵列([0] => {被} [1] => {测试} [2] => {字符串})

+0

你救了我的命,非常感谢你! – user3813280