Java 中正则表达式是在Java 1.4版本以后才出现的。在java.util.regex包中Pattern类中列出了全部正则表达式内容,下面是列出几个常用正则表达式具体含义:
NO. | 表达式 | 描述 | |
1 | [abc] | 表示取值可能是a,可能是b,可能是c | |
2 | [^abc] | 表示取值不是a,b,c的任意一个内容 | |
3 | [a-zA-Z] | 表示全部字母,大小写都可,[a-z]表示小写字母 | |
4 | \d | 表示有数字组成 | |
5 | \D | 表示有非数字组成 | |
6 | \s | 表示有空格组成,空格包含”\n”,”\t”之类的 | |
7 | \S | 表示有非空格组成 | |
8 | \w | 表示有字母,数字,下划线组成 | |
9 | \W | 表示有非字母,数字,下划线组成 | |
10 | X|Y | 要么是正则X,要么是正则Y | |
11 | (X) | 表示一组规范 | |
举几个例子,看看正则表达式在Java中是如何运用的:
(1)、// 验证 First Name 是不是以大写字母开头的一个英文单词
else if (!firstTextField.getText().matches("[A-Z][a-zA-Z]*")) {
JOptionPane.showMessageDialog(this, "First Name非法!");
}
(2)、 // 验证 Last Name 是不是以大写字母开头的一个英文单词
else if (!lastTextField.getText().matches("[A-Z][a-zA-Z]*")) {
JOptionPane.showMessageDialog(this, "Last Name非法!");
}
(3)、 // 验证地址是否为数字开始,并包含一个单词或者两个单词
else if (!addressTextField.getText().matches(
"\\d+\\s+([a-zA-Z]+|[a-zA-Z]+\\s[a-zA-Z]+)")) {
JOptionPane.showMessageDialog(this, "地址非法!");
}
(4)、 // 验证邮政编码是否为一个5位数的数字
else if (!zipTextField.getText().matches("\\d{5}")) {
JOptionPane.showMessageDialog(this, "邮政编码非法!");
}
(5)、 // 验证电话号码的格式是否为123-456-7890
// 并且区号和电话号码的第1位不能是数字0
else if (!phoneTextField.getText().matches(
"[1-9]\\d{2}-[1-9]\\d{2}-\\d{4}")) {
JOptionPane.showMessageDialog(this, "非法的电话号码!");
}
(6)、 // 验证字符串是否仅仅包含中文
else if (!chineseTextField.getText().matches("[\u4E00-\u9FA5]+")) {
JOptionPane.showMessageDialog(this, "只能输入中文!");
}
(7)、// 验证邮件地址
对于Email验证来说,域名的后缀只有有限几个,
分别是:”com,com.cn,net.cn,org,edu,gov”。
其正则表示为:
”\\w+@\\w+.(com|com.cn|cn|net.cn|org|edu|gov)”
01、"^\\d+$" //非负整数(正整数 + 0)
03、"^((-\\d+)|(0+))$" //非正整数(负整数 + 0)
04、"^-[0-9]*[1-9][0-9]*$" //负整数
05、"^-?\\d+$" //整数
06、"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0)
07、"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
08、"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0)
09、"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
10、"^(-?\\d+)(\\.\\d+)?$" //浮点数
11、"^[A-Za-z]+$" //由26个英文字母组成的字符串
12、"^[A-Z]+$" //由26个英文字母的大写组成的字符串
13、"^[a-z]+$" //由26个英文字母的小写组成的字符串
14、"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
15、"^\\w+$" //由数字、26个英文字母或者下划线组成的字符串
16、"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址
17、"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url
常用正则表达式
B;F#\"Xv&I,A9e0 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。