正则表达式判断中文字符

前几天客户提出来了一个需求,组合属性值之间的连接字符,需要根据前一个属性的结束字符和后一个属性开头字符,来判断该使用哪种连接符号。客户提供了一份文档,光组合属性的规则就占据了一页,着实让我头疼了一会,最后记录点正则代码,以备后用。

        /// <summary>
        /// 判断字符是否为数字,字符,汉字,英文字母
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        StringType IsStringType(string str)
        {           
            Regex regNum = new Regex("[0-9]");
            Regex regEn = new Regex("[A-Za-z]");
            Regex regChina = new Regex("[\u4e00-\u9fa5]");
            if (regNum.IsMatch(str))
                return StringType.数字;
            else if (regEn.IsMatch(str))
                return StringType.字母;
            else if (regChina.IsMatch(str))
                return StringType.汉字;
            else
                return StringType.符号;
        }

        public enum StringType
        {
            数字,
            字母,
            汉字,
            符号,
        }

原文地址:https://www.cnblogs.com/xiarifeixue/p/2675146.html