JAVA正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢?

 我来答
多xdl点事
2019-06-18 · TA获得超过1190个赞
知道答主
回答量:19
采纳率:0%
帮助的人:2768
展开全部

正则表达式:[\\u4e00-\\u9fa5]*|\\w*|\\d*|_*

代码如下:

@Test
public void test1(){
//匹配正则表达式表达式
String str = "[\\u4e00-\\u9fa5]*|\\w*|\\d*|_*";
Pattern pattern = Pattern.compile(str);
//要匹配的字符串
String mStr = "还有多远_344fjdk";
System.out.println("测试的字符串:"+mStr);
Matcher m = pattern.matcher(mStr);
//如果匹配到了
if(m.find()){
System.out.println("匹配内容:"+m.group());
}
}

程序运行结果:

扩展资料

匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,"单词"字符使用Unicode字符集,中文的为:[\\u4e00-\\u9fa5],表示英文字母的为\w,表示数字的为\d,表示_的为_,而*号表示的则是0个或多个,|表示的则是或,所以把每个要匹配的用|拼接可以表示要匹配的正则表达式。

参考资料:oracle官网-Java SE API 和文档

百度网友1fcf34c73
推荐于2017-11-25 · TA获得超过865个赞
知道小有建树答主
回答量:400
采纳率:100%
帮助的人:454万
展开全部
正则表达式如下:
String pattern = "[\u4e00-\u9fa5\\w]+";

其中:\u4e00-\u9fa5 代表中文,\\w代表英文、数字和“_",中括号代表其中的任意字符,最后的加号代表至少出现一次。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hefan82327
2013-05-14 · TA获得超过2974个赞
知道答主
回答量:236
采纳率:0%
帮助的人:129万
展开全部
匹配中文:[\u4e00-\u9fa5]

英文字母:[a-zA-Z]

数字:[0-9]

匹配中文,英文字母和数字及_:
^[\u4e00-\u9fa5_a-zA-Z0-9]+$

同时判断输入长度:
[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}

^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 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

XYZAbcAbcAbcXYZAbcAb6、
[^\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
{
\\存在非法字符
}

最长不得超过7个汉字,或14个字节(数字,字母和下划线)正则表达式
^[\u4e00-\u9fa5]{1,7}$|^[\dA-Za-z_]{1,14}$

参考:http://hi.baidu.com/slcands2/item/fc1f75fa412f7219a62988ac
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梦里寻你我他
2013-05-14 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1210万
展开全部
[a-zA-Z0-9\u4E00-\u9FA5_]+
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aoisora_blue
2013-05-14 · TA获得超过412个赞
知道小有建树答主
回答量:583
采纳率:0%
帮助的人:366万
展开全部
([\u4e00-\u9fa5a-zA-Z_0-9]*
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式