2016-10-04 135 views
0

我有這個字符串抓住所有的字符串開始,以字符php結束

"%John%" abxcca - "%Cameron%" , "%Warner%-%Bros%" 

我想提取字封閉withh %字符 結果預期的列表:[ 'John','Cameron','Warner','Bros']

我如何在PHP中完成由正則表達式?

我試着用(\%.*\%)+

,但它只能從1%到持續%,它不能單獨

+0

使用在線工具,如[regex101(HTTPS嘗試一些正則表達式: //regex101.com/),然後返回一些嘗試正則表達式。 – segFault

+0

你在哪裏遇到問題?你有嘗試過什麼嗎? – chris85

+0

對不起,。我更新了之前的嘗試 – Ryo

回答

1

我做了一些正則表達式,現在的學習,這似乎工作...

$matches = []; 
preg_match_all('/%(.*)%/U', '"%John%" abxcca - "%Cameron%" , "%Warner%-%Bros%"', $matches); 


array (
    0 => 
    array (
    0 => '%John%', 
    1 => '%Cameron%', 
    2 => '%Warner%', 
    3 => '%Bros%', 
), 
    1 => 
    array (
    0 => 'John', 
    1 => 'Cameron', 
    2 => 'Warner', 
    3 => 'Bros', 
), 
) 

IDK如果這是最好的方式,雖然,正則表達式noob我自己。

1

我懂了:).....................

%(.*?)% 
相關問題