当前位置: 代码迷 >> Web前端 >> 一个正则表达式,只含有汉字、数字、字母、上划线不能以上划线开头和结尾
  详细解决方案

一个正则表达式,只含有汉字、数字、字母、上划线不能以上划线开头和结尾

热度:53   发布时间:2012-11-22 00:16:41.0
一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:

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

XYZAbcAbcAbc


XYZAbc


Ab

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

[\u4E00-\u9FA50-9a-zA-Z_]??? eiieng_89_? ?--->?? e i i e n g _ 8 9 _
_';'eiieng_88&*9_??? -->? _ ';'e i i e n g _ 8 8 &*9 _
_';'eiieng_88_&*9_? -->? _ ';'e i i e n g _ 8 8 _ &*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??
? {??
? \\存在非法字符??
? }