[Java初探外篇]__关于正则表达式
正则表达式通常用于判断语句之中,用来检测一段字符串是否满足某一个格式.在日常生活中被广泛的用于各种用户输入信息的检测上.
而正则表达式实际上是一些具有特殊意义的字符序列.通过这些特殊字符构成的特殊序列,可以形成各种检测字符串的条件.

其中需要注意到的是:"."代表了任意字符,那么想要表示"."符号,就需要使用转义符\.;
另外需要注意到的一点就是,我们可以通过[]来代表一个元字符.如5[abcd],那么可以和它匹配的就是5a,5b,5c,5d.或是[1-9]代表了1-9中的每一个数字.[a-zA-Z]可以表示26个大小写字母.等等.[]还可以嵌套使用[a-c[b-d]]他就表示,a,b,c和b,c,d的并,及可以是:ab,ac,ad,bb,bc,bd等.
同时,在正则表达式中还可以使用限定符来限定字符出现的次数.

所以在正则表达式中,正则表达式其实是由上面字符和元字符以及[]组合元字符以及限定符组合而成的一段特殊的字符序列(亦可以说是表达式).所以在正则表达式的判断中.我们不能使用==符号,也不能使用String类的equals方法.
String类中提供了专门比较字符串和正则表达式的方法:matches(String regex)参数是一个String型的正则表达式.
- 下面是一个使用正则表达式判断输入邮箱地址格式的例子:
package java01.day_4_12;
import java.util.Scanner;
/**
* @outhor xiaoshe
* @date 2019/4/12 - @time 20:53
* 正则表达式
*/
public class sty_Regularexpression {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入有效的邮箱:");
String str = scanner.nextLine();
sty_Regularexpression sty_regularexpression = new sty_Regularexpression();
sty_regularexpression.checkemil(str);
}
private void checkemil(String str){
if (str.matches("\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}")){
System.out.println("邮箱地址有效");
}else
System.out.println("邮箱地址无效");
}
}
- 结果


更新时间:
2019-4-12
21:18
[Java初探外篇]__关于正则表达式的更多相关文章
- [java初探外篇]__关于StringBuilder类与String类的区别
前言 我们前面学习到String类的相关知识,知道了它是一个字符串类,并且了解到其中的一些方法,但是当时并没有太过注意到String类的特点,今天就StringBuilder类的学习来比较一下两者的区 ...
- [Java初探外篇]__关于时间复杂度与空间复杂度
前言 我们在前面的排序算法的学习中了解到了,排序算法的分类,效率的比较所使用到的判断标准,就包括时间复杂度和空间复杂度,当时因为这两个定义还是比较难以理解的,所以决定单独开一篇文章,记录一下学习的过程 ...
- 【java初探外篇01】——关于Java修饰符
本文记录在学习Java语言过程中,对碰到的修饰符的一些疑问,在这里具体的拿出来详细学习和记录一下,以作后续参考和学习. Java修饰符 Java语言提供了很多修饰符,但主要分两类: 访问修饰符 非访问 ...
- 【Java初探外篇02】——关于静态方法与实例方法
在Java的学习中,我们知道,方法的使用是不可或缺的重要部分,在我们编写第一个Java程序hello world的时候,我们就要开始使用主方法main():它就是一个静态方法(static metho ...
- [java初探总结篇]__java初探总结
前言 终于,java初探系列的学习,要告一阶段了,java初探系列在我的计划中是从头学java中的第一个阶段,知识主要涉及java的基础知识,所以在笔记上实在花了不少的功夫.虽然是在第一阶段上面花费了 ...
- [Java初探实例篇02]__流程控制语句知识相关的实例练习
本例就流程控制语句的应用方面,通过三个练习题来深入学习和巩固下学习的流程控制语句方面的知识,设计到,if条件判断语句,switch多分支语句,for循环语句及其嵌套多层使用,while循环语句. 练习 ...
- [java核心外篇]__Object类与对象类型的转型
前言 我们在之前的学习中提过很多次了,java是面向对象的,java的基础可以说是建立在类和对象上面的.然后我们又学到了类的继承,发现了在java类库中,类的继承是极为普遍的,一个类继承另一个类,就像 ...
- 【Java初探实例篇01】——Java语言基础
示例系列,将对每节知识辅以实际代码示例,通过代码实际编写,来深入学习和巩固学习的知识点. IDE:intellij IDEA: 语言:Java 本次示例:Java语言基础知识的应用. 创建包day_4 ...
- 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制
你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...
随机推荐
- tp3.2 phpexcel 简单导出多个sheet(execl表格)
参考链接:https://blog.csdn.net/u011341352/article/details/70211962 以下是公共类PHPExcel.php文件: // 开始 <?php/ ...
- 腾讯云主机的公网无法访问,putty和FileZilla连接不上
1.解决方法一(之前百度都是这种安全组忘了添加) 2.解决方案二(ps:我是用centos的,然后不知道为什么访问不了,端口也是全部开的) service network restart 重置网络命令 ...
- C#,如何程序使用正则表达式如何使用匹配的位置的结果修改匹配到的值
程序代码使用正则表达式如何修改匹配到的值: 代码一: using System; using System.Text.RegularExpressions; public class Example ...
- 阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜
看到这个标题之后 我毫不犹豫的点进去了 趁现在不忙我赶紧把代码写到了我的小本本上好好研究研究 (写的就不放进来了 有点丑) 研究了下 第一反应 明明能用sort()解决的 为什么非要写这么一大串 但 ...
- etcd-v2第三集
简单说下golang的etcd接口例子.etcd api有v2(http+json)和v3(grpc)两个版本,目前大家都用v2,所以... v2: https://github.com/coreos ...
- php5.6 phpmystudy 版本出问题
No input file specified的解决方法 https://jingyan.baidu.com/article/f7ff0bfccce11c2e26bb1381.html
- python2.x 到 python3.x 中“url”部分变化
这部分是笔者在亲身项目中遇到的一些变化,并不全,后面将会更新. (1) urllib.urlopen 改为: urllib.request.urlopen (2) urllib2 删除 ...
- MongoDB学习记录(一) - 安装、启动与建立数据库
简要说明一个基本概念:MongoDB中的三要素:数据库(database).集合(collection)和文档(document). 文档:类似于JSON对象,由字段(field)和值(value)组 ...
- Chapter3_操作符_逻辑操作符
逻辑操作符与(&&)或(||)非(^)能够对布尔类型的数据类型进行操作,并且生成布尔值,和关系操作符的产生的数据类型是一样的.需要注意的不多,有以下几点: (1)在需要使用string ...
- 【Git】 GitLab配置优化及汉化
GitLab配置 1.修改GitLab绑定的域名 a.修改/etc/gitlab/gitlab.rb配置文件,修改成自己的域名 external_url 'http://gitlab.example. ...