一個有這樣的:preg_match_all - 如何捕捉到所有的子模式
$pattern = "/\b(?:(one|two|three|four|five|(?:s|z)ix|seven|eight|nine|zero|twelve)(?:\s|-)*){4,8}/ix";
$subject = "one four-six nine twelve
zero eight nine nine seven three six six";
$matches = [];
preg_match_all ($pattern, $subject, $matches, PREG_SET_ORDER);
我想看到的是$matches
所有分離的話,但我只獲得九項第一和六爲第二 - 大格局的最後一句話。我知道我可以放在括號中的所有單個的詞,但有沒有什麼比較好的方式+我會得到空字符串這樣
輸出,如:
array (size=2)
0 =>
array (size=2)
0 => string 'one four-six nine twelve
zero eight nine ' (length=46)
1 => string 'one'
2 => string 'four'
3 => string 'six'
4 => string 'nine'
5 => string 'twelve'
6 => string 'zero'
7 => string 'eight'
8 => string 'nine'
1 =>
array (size=2)
0 => string 'nine seven three six six' (length=24)
...
請詳細說明您的預期輸出。 –
您是否在尋找[類似的東西](http://ideone.com/O5pZb0)? –
沒有。我添加了輸出,因爲我期待 – frenzy