我有一个模式
ab 23 cde 25 ... and so on
我可以像
那样捕捉上述模式array(
[patterns] => array(
[0] => array(
[payer] => 'ab'
[amt] => 23
)
[1] => array(
[payer] => 'cde'
[amt] => 25
)
)
)
这可能吗?
答案 0 :(得分:2)
您可以将preg_match_all
用作:
$str = 'ab 23 cde 25';
preg_match_all('/(\w+)\s+(\d+)/',$str,$matches);
$result = array();
for($i=0;$i<count($matches[0]);$i++) {
$result[] = array('payer' => $matches[1][$i], 'amt' => $matches[2][$i]);
}
答案 1 :(得分:0)
形成一个正则表达式以匹配数组中的每个项目(\w+\s+\d+
)。收集所有这些(这应该给你像ab 23
)。
然后对于这些项目中的每一项,拆分空白并填入更大的数组作为[payer],[amt]。
答案 2 :(得分:0)
(?:'|.)(\w+)(?:'|$)