怎样使用正则表达式判断字符串必须为[a-z][A-Z][0-9][_][中文]

时间:2021-09-24 18:47:26
1.如题,怎样解决

2.总感觉正则表达式比较难学,请推荐学习的网站

7 个解决方案

#1


Regex r = new Regex(@"[\u4e00-\u9fa5\w]");

#2


记得有本书叫《C#字符串与正则表达式》(?),红皮的,不错...

#3


为什么我用
Regex r = new Regex(@"[\u4e00-\u9fa5\w]");
return r.IsMatch(strIn);
感觉不行,连^符号都通过了

#4


不是吧....

            Regex r = new Regex(@"[\u4e00-\u9fa5\w]");
            string s = "^";
            if (r.IsMatch(s))
            {
                Console.WriteLine("match");
            }
            else
            {
                Console.WriteLine("fail match");
            }
在我机器上显示“fail match”啊....

如果你要求整个字符串都是上述的字符,改成:
Regex r = new Regex(@"^[\u4e00-\u9fa5\w]*$");

#5


哦,原来是 Regex r = new Regex(@"[\u4e00-\u9fa5\w]");只匹配字符串的第一个字符,是吗?
能不能帮忙解释一下^,他的意思不是说匹配字符以外的字符吗?还有 *$是什么意思?谢谢你了

#6


\w足以

#7


^表示匹配字符串的开始

#1


Regex r = new Regex(@"[\u4e00-\u9fa5\w]");

#2


记得有本书叫《C#字符串与正则表达式》(?),红皮的,不错...

#3


为什么我用
Regex r = new Regex(@"[\u4e00-\u9fa5\w]");
return r.IsMatch(strIn);
感觉不行,连^符号都通过了

#4


不是吧....

            Regex r = new Regex(@"[\u4e00-\u9fa5\w]");
            string s = "^";
            if (r.IsMatch(s))
            {
                Console.WriteLine("match");
            }
            else
            {
                Console.WriteLine("fail match");
            }
在我机器上显示“fail match”啊....

如果你要求整个字符串都是上述的字符,改成:
Regex r = new Regex(@"^[\u4e00-\u9fa5\w]*$");

#5


哦,原来是 Regex r = new Regex(@"[\u4e00-\u9fa5\w]");只匹配字符串的第一个字符,是吗?
能不能帮忙解释一下^,他的意思不是说匹配字符以外的字符吗?还有 *$是什么意思?谢谢你了

#6


\w足以

#7


^表示匹配字符串的开始