Предупреждение: preg_match () [function.preg-match]: Ошибка компиляции: нечего повторять по смещению

Я пытаюсь изменить проверку preg_match с проверки URL на проверку имени пользователя, которая составляет минимум / максимум 2-16 символов, тире, пробела и наложения допустимы. Я получаю эту ошибку

Предупреждение: preg_match () [function.preg-match]: Ошибка компиляции: нечего повторять со смещением 14

if(empty($string) || preg_match("#^([\w- ]{2,16}*(?:.[\w- ]{2,16}*)+):?(d+)?/?#i", $string))

старый код, который искал URL

if(empty($string) || preg_match("#^(http|https|ftp)://([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?/?#i", $string))
5
задан BoltClock 26 April 2011 в 21:39
поделиться