求一个 可以用 php preg_match()函数 的正则

求一个 可以用 php preg_match()函数 验证字符串自能包含 中英文,数字,还有'-','_' 的正则

 [\u4e00-\u9fa5a-zA-Z0-9\-\_]+
 [-\u4e00-\u9fa5\w]+

preg_match( '/[\x{4e00}-\x{9fa5}\w-]+/u', $subject, $arr);


答案有点错误,php正确的正则是 /^[\x{4e00}-\x{9fa5}\w-]+$/u