正则表达式初步认识
1 1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾: 2 ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: 3 ^ 与字符串开始的地方匹配 4 (?!_) 不能以_开头 5 (?!.*?_$) 不能以_结尾 6 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字、数字、字母、下划线 7 $ 与字符串结束的地方匹配 8 9 放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$" 10 (或者:@"^(?!_)\w*(?<!_)$" 或者 @" ^[\u4E00-\u9FA50-9a-zA-Z_]+$ " ) 11 12 2、只含有汉字、数字、字母、下划线,下划线位置不限: 13 ^[a-zA-Z0-9_\u4e00-\u9fa5]+$ 14 15 3、由数字、26个英文字母或者下划线组成的字符串 16 ^\w+$ 17 18 4、2~4个汉字 19 @"^[\u4E00-\u9FA5]{2,4}$"; 20 21 5、 22 ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 23 24 用:(Abc)+ 来分析: XYZAbcAbcAbcXYZAbcAb 25 26 XYZAbcAbcAbcXYZAbcAb 27 6、 28 [^\u4E00-\u9FA50-9a-zA-Z_] 29 34555#5' -->34555#5' 30 31 [\u4E00-\u9FA50-9a-zA-Z_] eiieng_89_ ---> eiieng_89_ 32 _';'eiieng_88&*9_ --> _';'eiieng_88&*9_ 33 _';'eiieng_88_&*9_ --> _';'eiieng_88_&*9_ 34 35 public bool RegexName(string str) 36 { 37 bool flag=Regex.IsMatch(str,@"^[a-zA-Z0-9_\u4e00-\u9fa5]+$"); 38 return flag; 39 } 40 41 Regex reg=new Regex("^[a-zA-Z_0-9]+$"); 42 if(reg.IsMatch(s)) 43 { 44 \\符合规则 45 } 46 else 47 { 48 \\存在非法字符 49 }
正则表达式测试网站:http://tool.chinaz.com/regex/