A while ago, I saw in regex (at least in PHP) you can make a capturing group not capture by prepending ?:.
$str = \'big blue b
I don't know how do this with ?:, but it is easy with simple loop:
$regex = '/b(ig|all)/';
$array = array(
0 => array(0 => 'big', 1 => 'ball'),
1 => array(0 => 'ig', 1 => 'all')
);
foreach ($array as $key => $row) {
foreach ($row as $val) {
if (!preg_match($regex, $val)) {
unset($array[$key]);
}
}
}
print_r($array);