1. 程式人生 > >正則表示式-匹配:中文,英文,數字,下劃線

正則表示式-匹配:中文,英文,數字,下劃線

1、一個正則表示式,只含有漢字、數字、字母、下劃線不能以下劃線開頭和結尾:
^(?!_)(?!.*?_$)[a-zA-Z0-9_/u4e00-/u9fa5]+$  其中:
^  與字串開始的地方匹配
(?!_)  不能以_開頭
(?!.*?_$)  不能以_結尾
[a-zA-Z0-9_/u4e00-/u9fa5]+  至少一個漢字、數字、字母、下劃線
$  與字串結束的地方匹配

放在程式裡前面加@,否則需要//進行轉義 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_/u4e00-/u9fa5]+$"
 (或者:@"^(?!_)/w*(?<!_)$"    或者  @" ^[/u4E00-/u9FA50-9a-zA-Z_]+$ "  )

2、只含有漢字、數字、字母、下劃線,下劃線位置不限:


  ^[a-zA-Z0-9_/u4e00-/u9fa5]+$

3、由數字、26個英文字母或者下劃線組成的字串
^/w+$

4、2~4個漢字
  @"^[/u4E00-/u9FA5]{2,4}$"; 

5、
^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$

用:(Abc)+    來分析:  XYZAbcAbcAbcXYZAbcAb

XYZAbcAb

6、
[^/u4E00-/u9FA50-9a-zA-Z_]
34555#5' -->34555#5'

[/u4E00-/u9FA50-9a-zA-Z_]    eiieng_89_   --->   eiieng_89_
_';'eiieng_88&*9_    -->  _

';'eiieng_88&*9_
_';'eiieng_88_&*9_  -->  _';'eiieng_88_&*9_

public  bool RegexName(string str)
  {
   bool flag=Regex.IsMatch(str,@"^[a-zA-Z0-9_/u4e00-/u9fa5]+$");
   return  flag;
  }

 Regex   reg=new   Regex("^[a-zA-Z_0-9]+$");   
  if(reg.IsMatch(s))   
  {   
  //符合規則   
  }   
  else   
  {   
  //存在非法字元   

  }