Java正则表达式全解
- 什么是正则表达式
- 正则表达式有什么用
- 正则表达式的语法
- 正则表达式的使用场景
1. 什么是正则表达式
一种检验信息正确性的方法(我们做开发的时候,经常会碰到信息收集,为了防止qq,电话乱填,可以使用正则表达式,也可以直接写if代码慢慢检验,但是有高效的正则表达式,一行代码解决,谁会花时间去写几十行代码检验正确性)
2. 正则表达式有什么作用
(效验信息合法性)(电话号码,金额,qq号,邮箱)
3. 正则表达式的语法
/*正则表达式。字符类1.[abc]:(简单类)校验:只能是a,b或c。2.[^abc]:(否定)效验:除了abc之外任意字符3.[a-zA-Z]:(范围)效验:只能出现英文字母4.[a-d[m-p]]:(并集)5.[a-z&&[def23]]:(交集)6.[a-z&&[^bc]]:(减去)7.[a-z&&[^m-p]]:(减去)预定义字符类1. . 任何字符2. \d 数字 [0-9]3. \D 非数字 [^0-9]4. \s 空白字符 [\t\n\x0B\f\r]5. \S 非空白字符 [^\s]6. \w 单词字符 [a-zA-Z_0-9]7. \W 非单词字符 [^\w]以上正则匹配只能效验一个字符。Greedy数量词1. X?x,一次或一次没有2. X* X,零次或多次3. X+ X,一次或多次4. X{n},恰好n次5. X{n,} 至少n次6. X{n,m} 至少n次,但是不超过 m 次。*/
public class RegexDemo02 {public static void main(String[] args) {System.out.println("a".matches("[abc]"));System.out.println("d".matches("[abc]"));System.out.println("d".matches("[^abc]"));System.out.println("d".matches("\\w"));//密码至少六位,必须是数字,字母和下划线System.out.println("你aaaaaaa1".matches("[你a_]{6,12}"));}
}
4. 正则表达式的使用场景
import java.util.Scanner;/*正则表达式的实际应用。检测邮箱检测电话*/
public class RegexDemo03 {public static void main(String[] args) {//效验邮箱checkEmail();checkPhone();}public static void checkEmail(){//邮箱Scanner sc = new Scanner(System.in);System.out.println("请输入你的邮箱:");String email = sc.nextLine();//22212323@qq.com//32141321@pa.com.cnif(email.matches("\\w{1,}@\\w{2,10}(\\.\\w{2,10}){1,2}")){System.out.println("邮箱合法");}else{System.err.println("邮箱不合法");//错误提示}}public static void checkPhone(){//手机号Scanner sc = new Scanner(System.in);System.out.println("请输入你的手机:");String tel = sc.nextLine();//14398972112if(tel.matches("1[3-9]\\d{9}")){System.out.println("手机号合法");}else{System.err.println("手机号不合法");//错误提示}}
}
Java正则表达式全解相关推荐
- python基础系列教程——python中的字符串和正则表达式全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 转义字符 正则表达式是建立在字符串的基础上,当需要在字符中使用特殊字符时,python用反斜杠\转义字符.如下表: 转义字符 描述\(在行尾时 ...
- Java正则表达式(详解)
(PS:这篇文章为转载,我不喜欢转载的但我觉得这篇文章实在是超赞了,就转了过来,这篇可以说是学习JAVA正则表达的必读篇.作者是个正真有功力的人,阅读愉快) 在Sun的Java JDK 1.40版本中 ...
- 【Java基础系列教程】第十五章 Java 正则表达式详解
一.正则表达式概述 什么是正则表达式 正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用.正则表达式通常被用来检索.替换那些符 ...
- Java基础学习总结(35)——Java正则表达式详解
在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包. 可粗略估计一下,除了偶尔用
- 【吐血整理】java正则表达式详解
阿里 最重视项目经验 阿里一般情况下有五轮面试,其中大概有四轮都是基于项目的技术在问实现机制.改进技术方案.做的认为不足的地方,技术栈的实现原理,有没有其他替代方案,涉及中间件的原理等等. 重视技术原 ...
- [文摘]Java正则表达式详解
为什么80%的码农都做不了架构师?>>> 参见:http://edu.yesky.com/edupxpt/18/2143018.shtml PS:此文讲解正则表达式还是很不错的 ...
- java 泛型全解 - 绝对最详细
背景 对于java的泛型我一直属于一知半解的,平常真心用的不多.直到阅读<Effect Java>,看到很多平常不了解的用法,才下定决心,需要系统的学习,并且记录下来. 1.泛型的概述: ...
- java classpath详解_java Classpath全解(转)
java Classpath全解(转)[@more@]java 的新入门者对classpath往往比较困惑,为何在开发环境中能运行的东东出去就不好,或在外面运行的东东挺溜的进了开发环境就死菜,烦死了! ...
- java中的正则表达式详解
转自:http://gstarwd.iteye.com/category/91108?show_full=true 想必很多人都对正则表达式都头疼.今天,我以我的认识,加上网上一些文章,希望用常人都可 ...
- Java 正则表达式(深度长文)
目录 一.正则表达式 二.正则表达式的底层实现 1.matcher.find() 2.matcher.groups() 三.正则表达式的语法 1.正则转义符 2.正则表达式支持字符 3.捕获组(cap ...
最新文章
- python-实现单链表
- 读完《Effective Java》后,总结了 50 条开发技巧
- Appium使用のhelloworld
- Manacher算法学习笔记 | LeetCode#5
- 如何在运行时更改日志记录级别
- 前端学习(3106):react-hello-jsx小练习
- html.parser python_python模块之HTMLParser
- 一张图理解JS的原型(prototype、_proto_、constructor的三角关系)
- 套用这8种数据治理方法,解决90%的数据治理问题
- 有故事、有实践,谈一谈深度迁移学习方法的基本思路
- 安全性、监控、调优 的一些思考
- sscanf 连续相同编辑符_【第1995期】钉钉文档编辑器的前世今生
- 简单工厂(Simple Pattern)模式
- asp + Access 常见的数据库访问失败问题 Microsoft JET Database Engine 错误 '80004005' 解决办法...
- A useful link to learn PDF
- 鸿蒙os 实测,鸿蒙体验怎么样_鸿蒙OS实测体验
- 【机器学习系列】GMM第一讲:两个角度认识高斯混合模型
- linux安装gt620驱动下载,Debian6安装Nvidia GT 620显卡驱动
- 读《股票大作手回忆录》
- 【华为二面】2020/3/25_华为第二次技术面试_45分钟