Java中正则表达式判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中正则表达式判断相关的知识,希望对你有一定的参考价值。

String name = txtname.getText();
if ("".equals(name))

JOptionPane.showMessageDialog(this, "用户名不能为空", "提示",JOptionPane.INFORMATION_MESSAGE);

name试文本框里面取出来的值.我要判断name不能以数字和非法字符怎么写正则表达式.
if (name.matches("^\\w+$")) 数字和英文都可以进入if里面 我要的是name只能是字母和字
if (name.matches("^\\w+$"))

JOptionPane.showMessageDialog(this, "用户名不合法", "提示",
JOptionPane.INFORMATION_MESSAGE);
请问有不有JAVA群可以问啊.每次上知道都要登答案

参考技术A import java.util.regex.*;

String name = txtname.getText();
try
if (name.matches("[a-zA-Z]+"))
// String matched entirely
else
// Match attempt failed

catch (PatternSyntaxException ex)
JOptionPane.showMessageDialog(this, "用户名不能为空", "提示",JOptionPane.INFORMATION_MESSAGE);
// Syntax error in the regular expression
参考技术B 查查正则所代表的含义不就自己能写了吗?
非数字 \D
附:

\d 等於 [0-9] 数字
\D 等於 [^0-9] 非数字
\s 等於 [ \t\n\x0B\f\r] 空白字元
\S 等於 [^ \t\n\x0B\f\r] 非空白字元
\w 等於 [a-zA-Z_0-9] 数字或是英文字
\W 等於 [^a-zA-Z_0-9] 非数字与英文字

^ 表示每行的开头
$ 表示每行的结尾
----------------------
一楼的是对的。String.matches返回boolean值。
if (name.matches("^\\w+$"))
...

注意转义字符。本回答被提问者采纳
参考技术C /^[a-zA-Z]$/

java正则表达式

在JAVA中我想匹配一个字符串“00-18-F3-3E-89-EA”,当中的字符是十六进制的,也就是说只能是0~F之间的字符,该怎么写正则表达式呢。顺便问下正则表达式在JAVA中怎么用啊。

参考技术A [\dABCDEFabcdef]2(-[\dABCDEFabcdef]2)5
此正则表达式可以匹配

在Java中使用正则表达式需要使用java.util.regex命名空间下的Pattern和Matcher类,具体使用方式请参考API

不过你可以直接使用String的方法,诸如split,replace等都是使用正则表达式,测试一个字符串是否匹配一个正则表达式请使用matches方法,如:
“00-18-F3-3E-89-EA”.matches("[\\dABCDEFabcdef]2(-[\\dABCDEFabcdef]2)5");
参考技术B String reg = "([0-9a-fA-F]2-)5[0-9a-fA-F]2";
String test = "00-18-F3-3E-89-EA";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(test);
boolean b = m.matches();
System.out.println(b);

简单写写本回答被提问者采纳

以上是关于Java中正则表达式判断的主要内容,如果未能解决你的问题,请参考以下文章

java正则表达式判断是不是为银行卡卡号

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

java 正则表达式

java正则表达式

java编写正则表达式,判断给定的是不是是一个合法的IP地址

怎么样用正则表达式判断真实姓名