正则表达通常用于判断语句中,用来检查某一字符串是否符合某一格式。比如现实生活中的密码校验,验证码校验,还有注册校验等等。在生活中运用很广泛。
元字符是什么呢?
元字符:一些具有特殊意义的字符
|正则表达式中的元字符如下表|
元字符 | 描述 |
---|---|
^ | 匹配的开始字符 |
$ | 匹配的结束字符 |
* | 匹配它前面子表达式的任意次 |
+ | 匹配它前面子表达式大于等于1次 |
? | 匹配它前面的子表达式0次或者1次 |
{n} | n是一个非负的整数,表示匹配前边表达确定的n次 |
{n,} | 至少匹配n次 |
{n,m} | 至少你次至多m次 |
. | 匹配除了“\r\n”之外的任意单个字符 |
[a-z] | 匹配从a到z小写字母的任意字符(可变) |
[^a-z] | 匹配不在制定范围内的字符(可变) |
\d | 匹配一个数字字符相当于0到9 |
\D | 匹配一个非数字字符 |
\n | 匹配一个换行字符 |
\r | 匹配一个回车字符 |
\t | 匹配一个制表符 |
\w | 表示包括下划线在内的任何单词字符 |
\W | 匹配任何非单词字符 |
\s | 代表空白字符 |
\S | 非空白字符 |
注:每一个正则表达式都要有开头和结尾,以^开头以$结尾,看了好几个版本的书还有一种就是在表达式前加"\"和开头结尾是等效的。如果想用真正意义的.,则要使用转义字符“\”
eg1:一个或多个汉字
︿[\u0391-\uFFE5]+$
eg2:邮政编码
︿[1-9]\d{5}$
eg3:邮箱
︿[a-zA-Z_]{1,}[0-9{0,}]@(([a-zA-Z0-9]-){1.}.){1,3[a-zA-Z-]{1,}}$
讲完了正则表达式的格式,接下来就是该如何去比较当前字符串是否符合该正则表达,在String类中定义有一个检查匹配是否正确的方法
matches()方法:
public boolean matches(String s)
返回一个布尔型
使用方法也是很简单,将你输入的数据对象调用此方法即可
例如:
伪代码如下
main(String args[]){
print(“输入邮箱”)
Scanner s =new Scanner(System.in)
String read=s.nextLine();//读取输入数据
String a="︿[a-zA-Z_]{1,}[0-9{0,}]@(([a-zA-Z0-9]-){1.}.){1,3[a-zA-Z-]{1,}}$"
boolean b=read.matches(a);//read和a进行匹配
正则表达的最基本内容就写到这,平常生活中的基本正则表达也差不多都在里面了》》》