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群可以问啊.每次上知道都要登答案
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正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢?