这是我的担心,我有一个字符串,我需要两个两个提取字符。
$str = "abcdef"
应该返回array('ab', 'bc', 'cd', 'de', 'ef')
。我想使用preg_match_all
而不是loops
. 这是我正在使用的模式。
$str = "abcdef";
preg_match_all('/[\w]{2}/', $str);
问题是,它返回Array('ab', 'cd', 'ef')
。它错过了'bc'
和'de'
。
如果我想提取一定数量的单词,我也会遇到同样的问题
$str = "ab cd ef gh ij";
preg_match_all('/([\w]+ ){2}/', $str); // returns array('ab cd', 'ef gh'), I'm also missing the last part
我错过了什么?还是根本不可能这样做preg_match_all
?