正则表达式初步认识

 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 42~4个汉字
19  @"^[\u4E00-\u9FA5]{2,4}$"; 
20   
21 522 ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
23   
24 用:(Abc)+  来分析: XYZAbcAbcAbcXYZAbcAb
25   
26 XYZAbcAbcAbcXYZAbcAb
27 628 [^\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/

posted on 2017-09-18 14:19  sj_大王  阅读(127)  评论(0编辑  收藏  举报

导航