1
我是新來的正則表達式,我想在分隔符上分割一個字符串,同時在每個數組元素的開頭保留該分隔符。我試了一下失敗,並想出了:PHP preg_split同時保持數組元素開頭的分隔符
$str = 'LOTS OF STUFF AND SOME MORE STUFF AND SOME OTHER STUFF';
$matches = preg_split('/(\ AND)/', $str, null, PREG_SPLIT_DELIM_CAPTURE);
這使分隔符作爲自己的元素:
[0]=>"LOTS OF STUFF"
[1]=>" AND"
[2]=>" SOME MORE STUFF"
[3]=>" AND"
[4]=>" SOME OTHER STUFF"
但我想保持分隔符在元素的開頭:
[0]=>"LOTS OF STUFF"
[1]=>" AND SOME MORE STUFF"
[2]=>" AND SOME OTHER STUFF"
我想也許我可以做它試圖使用一個後視,但後來我又失去了分隔符:
$matches = preg_split('/(?<=\s)AND/', $str, null, PREG_SPLIT_DELIM_CAPTURE);
[0]=>"LOTS OF STUFF"
[1]=>" SOME MORE STUFF"
[2]=>" SOME OTHER STUFF"
想得到一些幫助,謝謝!