java 使用正则表达式
正则表达式,又称规则表达式,正则表达式通常被用于判断语句中,来检查某一字符串是否满足某一格式, 正则表达式是育有特殊意义的字符串,这些特殊字符串被称为正则表达式的元字符,正则表达式的元字符及意义如下图所示:
元字符 | 正则表达式的写法 | 含义 |
---|---|---|
. | . | 任意一个字符 |
\d | \d | 0~9中的任意一个数字 |
\D | \D | 任何一个非数字符 |
\s | \s | 空白字符如'\n' |
\S | \S | 非空白字符 |
\w | \w | 可用于标识符的字符,不包括“$" |
\W | \W | 不可用于标识符的字符 |
\p{Lower} | \p{Lower} | 小写字母a~z |
\p{Upper} | \p{Upper} | 大写字母A~Z |
\p{ASCII} | \p{ASCII} | ASCII字符 |
\p{Alpha} | \p{Alpha} | 字母字符 |
\p{Digit} | \p{Digit} | 十进制数字 |
\p{Alnum} | \p{Alnum} | 数字或字母字符 |
\p{Punct} | \p{Punct} | 标点符号 |
\p{Garph} | \p{Garph} | 可见字符[\p{Alnum}\p{Punct}] |
\p{Print} | \p{Print} | 可打印字符[ \p{Garph}\x20] |
\p{Blank} | \p{Blank} | 空格或制表符[\t] |
\p{Cntrl} | \p{Cntrl} | 控制字符[\x00-\x1F\x7F] |
在正则表达式中 . 代表任意一个字符,因此要使用普通意义的" ." . 要用转义字符"\"。
正则表达式中的其他格式:
写法 | 含义 |
---|---|
[^123] | 代表1,2,3之外的任何字符 |
[a-g] | 代表a-g中的任何一个字母 |
[a-zA-Z] | 可代表任何一个字母 |
[a-g[h-n]] | 代表ag或hn中的任何一个字母 |
[a-o&&[def]] | 代表字母d,e,f(交运算) |
[a-d&&[^bc]] | 代表字母a,d(差运算 ) |
在正则表达式中允许使用限定修饰符来限定元字符出现的次数,限定修饰符如下表:
限定修饰符 | 意义 | 示例 |
---|---|---|
? | 0次或1次 | A? |
* | 0次或多次 | A* |
+ | 1次货多次 | A+ |
{n} | 正好出现n次 | A{3} |
{n,} | 至少出现n次 | {3,} |
{n,m} | 出现n~m次 | A{2,3} |
示例: 该实例检验了E-mail地址是否合法
import java.util.regex.*;
public class Email{
public static void main(String[] args) {
String regexx =new String( "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}");
String str1 = "sss";
String str2 = "@we.com";
String str3 = "[email protected]";
if(str1.matches(regexx)) {
System.out.println(str1+"是一个合法的E-mail地址");
}
if(str2.matches(regexx)) {
System.out.println(str2+"是一个合法的E-mail地址");
}
if(str3.matches(regexx)) {
System.out.println(str3+"是一个合法的E-mail地址");
}
}
}
标签:字符,java,String,正则表达式,字母,使用,mail,元字符
From: https://www.cnblogs.com/demc/p/16911774.html