2013-01-16 51 views
-1

你好需要幫助的正則表達式我用這個分裂以大寫字母串像OldMcDonald preg_split('/(?=[A-Z])/', $data, -1, PREG_SPLIT_NO_EMPTY);正則表達式:打破大寫字母

output 
[0] => Old 
[1] => Mc 
[2] => Donald 

現在我需要拆分像MWTTH 字符串我需要告訴正則表達式,一個T與一個字母H是一個字我怎麼能申請在我的正則表達式?

need the output: 
[0] => M 
[1] => w 
[2] => T 
[3] => TH 

當我試圖

$array = preg_split('/(?=[A-Z][TH])/', $data, -1, PREG_SPLIT_NO_EMPTY);

輸出是

Array 
(
    [0] => MTW 
    [1] => F 
    [2] => TH 
) 

MTH不APPART打破,沒有時間現在學習正則表達式。

+1

也許你應該創造「現在學習正則表達式的時間」? – hd1

+0

當我蒙山'MWTTH'出運行代碼是:'陣列 ( [0] =>中號 [1] => w^ [2] => T [3] => TH )' – seyed

回答

0

我應該學習遠一點我可能已經知道了,反正我已經發現了這件事,我用:

$data = 'MTWFTH'; 
$array = preg_split('/(?=TH|M|T|W|F|S)/', $data, -1, PREG_SPLIT_NO_EMPTY); 

輸出

array (size=5) 
    0 => string 'M' (length=1) 
    1 => string 'T' (length=1) 
    2 => string 'W' (length=1) 
    3 => string 'F' (length=1) 
    4 => string 'TH' (length=2) 

,而這將僅適用於預定義的工作像我的數據。

-1

沒時間學習正則表達式......所以,你基本上是要求我們找出你的問題。

花了大約5秒鐘的數字出來,30秒,把它寫下來,並超過5秒鐘,以複製和粘貼:

$string = 'OldMcMWTTHDonald'; 
preg_match_all('/(?:TH|[A-Z][a-z]*)/', $string, $matches); 
var_dump($matches); 

你只是浪費我的生命的40秒。

+0

對不起浪費你的時間偉大的魔法師程序員,但你的答案甚至沒有幫助。 – tomexsans

+0

如果您使用'「MWTTH」'作爲'$ string',您將得到完全符合您要求的結果,我的專用主題。 –

+0

我在說什麼拉比是它不會與preg_split一起工作,如果是我已經標記爲已解決 – tomexsans

相關問題