<?php

function is_valid_regex($pattern)
{
    return is_int(@preg_match($pattern, ''));
}

$patterns = array('/[[0-9]/i', '//(.*)/', '/(.*)-(.*)-(.*)/ ', '/([a-z]+)-([0-9_]+)/i');

foreach ($patterns as $pattern)
{
    echo sprintf('%s is %b' . "\n", $pattern, is_valid_regex($pattern));
}