正则表达式:英文、中文、数字、减号

来源:互联网 发布:ictclas java 编辑:程序博客网 时间:2024/04/29 22:13
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

XYZAbcAbcAbcXYZAbcAb
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  
  {  
  //存在非法字符  
  }
原创粉丝点击