java 正则表达式校验,该怎么解决

java正则表达式校验校验字符串长度在1到50之间正则表达式为:^.{1,50}$输入的汉子按两个长度计算 怎么校验

java 正则表达式校验
校验字符串长度在1到50之间   正则表达式为:^.{1,50}$

输入的汉子按两个长度计算 怎么校验  请各位大侠帮忙呀   正则表达式??
[解决办法]
Regex.IsMatch(Regex.Replace(str,@"[\u4e00-\u9fa5]","@@"),"^.{1,50}$");

思路: 先将每个汉字替换成@@ ,占两个字符,然后再验证长度是否在1-50内.