2016-08-15 36 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