java学习笔记16(正则表达式)
正则表达式:
定义:在pattern类中有简单规则定义,具有特殊含义的字符串;
作用:用于一些字符串,比如验证注册邮箱,密码,用户名等;
正则表达式的语法:
1)字符:'\'反斜杠
\t 代表制表符
\n 换行
\r 回车换行
2)字符类:[abc] a或者b或者c
[^abc] 否定abc
[a-zA-Z] 范围:从小写a-z大写A-Z
[0-9] 任意数字
[0-9a-z_A-Z] 下滑线
3)预定义字符类 :. 任意字符
\d 数字0-9
\w [0-9a-z_A-Z]
4)边界匹配:^ 代表的是行头
$ 代表的是结尾
\b 单词的边界
5)数量词:x? x出现一次或一次没有
x* x出现任意次数
x+ x至少出现一次
x{n} x出现的次数必须是n次
x{n,m} x最少出现n次,最多出现m次
x{n,}最少n次,多了不限
正则相关练习:matches()方法
- public class ZhengZe {
- public static void main(String[] args) {
- checkMail();
- }
- private static void checkMail() {
- String re="^[1-9][\\w]*@[a-zA-Z]*[\\.]+([\\w]{2,4})$";
- //[1-9]数字1-9开头,
- //[\\w]*任意次数[a-zA-Z0-9]
- //[a-zA-Z]任意次数
- //[\\.] .一次
- //[\\w]{2,4} [a-zA-Z0-9]最少两次最多四次
- //$结尾
- String s="4587jfj@qq.com";//定义邮箱
- boolean b=s.matches(re);
- System.out.println(b);//true
- String s1="03jhdbf3@qq.com";
- boolean b1=s1.matches(re);
- System.out.println(b1);//false
- String s2="3345jkhf@qqcom";
- boolean b2=s2.matches(re);
- System.out.println(b2);//false
- }
- }
split方法:
- public class SplitDemo {
- //split()方法:按照给定的正则表达式的匹配拆分字符串,返回值为String数组
- public static void main(String[] args) {
- Splitlx1();
- }
- private static void Splitlx1() {
- String s="i love java";
- String[] str=s.split(" +");//正则表达式:至少出现一次空格
- for (int i = 0; i < str.length; i++) {
- System.out.println(str[i]);
- }
- System.out.println(str.length);
- }
- }
- /*i
- love
- java
- 3*/
replaceAll()方法:
- public class ZhengZe1 {
- public static void main(String[] args) {
- replaceDemo();
- }
- private static void replaceDemo() {
- String s="I475love49578java";
- String s1=s.replaceAll("[\\d+]", "*");
- System.out.println(s1);//I***love*****java
- String s2=s.replaceAll("[\\d]+", "*");
- System.out.println(s2);//I*love*java
- }
- }
java学习笔记16(正则表达式)的更多相关文章
- 【java学习笔记】正则表达式
一.正则表达式 1.预定义字符集 . 表示任意一个字符 \d 表示任意一个数字 \w 表示任意一个单词字符(只能是数字.字母.下划线) \s 表示任意一个空白字符(\t\r\n\f\x0B) \D ...
- java学习笔记之正则表达式
一般来说,正则表达式就是以某种方式来描述字符串,因此你可与说:"如果一个字符串符合有这些东西,那么它就是我正在找的东西. 1.要找一个数字,如果它可能有一个负号在最前面(可能没有,没有也是匹 ...
- 9.1(java学习笔记)正则表达式
一.正则表达式 1.1正则表达式 正则表达式是描述一种规则,通过这个规则可以匹配到一类字符串. 2.1正则语法 2.1.1普通字符:字母.数字.下划线.汉字以及没有特殊意义的符号都是普通字符. 正则表 ...
- Java学习笔记二——正则表达式
Java正则表达式 正则表达式的规则 “abc” 匹配字符串abc [abc] 匹配[]里任意一个字符 [a-z]: 匹配所有小写字母中的任意一个字符 [A-Z]: 匹配所有大写字母中的任意一个字符 ...
- Java 学习笔记(16)——Java数据库操作
数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据 ...
- Java学习笔记16(面向对象九:补充内容)
总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不 ...
- JAVA学习笔记16——控制线程
Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程执行. join线程 Thread提供了让一个线程等待另一个线程完成的方法——join().当在某个线程执行流中 ...
- JAVA学习笔记16——线程生命周期
当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New).就绪(Runnable).运行(Running).阻塞(Blocking)和 ...
- JAVA学习笔记16——线程的创建和启动
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码).Java使用线程执行体来代表这段 ...
随机推荐
- hdu-3671-tarjin/割点方案
http://acm.hdu.edu.cn/showproblem.php?pid=3671 给出一幅无向图,询问有多少种移除点对的方案使得剩下的连通分量个数大于1. 和上一题差不多的思路直接做n次t ...
- MSMQ 概述
MSMQ 概述 1) MSMQ概述 MSMQ 表示微软消息队列服务.MSMQ 可以工作在在线或者离线场景,并提供异步编程功能.如果客户端离线,MSMQ将会是最合适的方法,这是因为服务端不需要等待客户端 ...
- 二十一、MVC的WEB框架(Spring MVC)
一.基于注解方式配置 1.首先是修改IndexContoller控制器类 1.1.在类前面加上@Controller:表示这个类是一个控制器 1.2.在方法handleRequest前面加上@Requ ...
- Python日志、序列化、正则模块
使用Python内置模块的目的:拿来别人已经写好的模块功能,直接import内置模块使用,简化程序,避免重复造轮子的过程,提示自己的开发效率: 一. loging日志模块: 1. loging模块可以 ...
- 【转】Entity Framework Extended Library (EF扩展类库,支持批量更新、删除、合并多个查询等)
E文好的可以直接看https://github.com/loresoft/EntityFramework.Extended 也可以在nuget上直接安装这个包,它的说明有点过时了,最新版本已经改用对I ...
- nodejs sequelize 对应数据库操作符的定义
const Op = Sequelize.Op [Op.and]: {a: } // 且 (a = 5) [Op.or]: [{a: }, {a: }] // (a = 5 或 a = 6) [Op. ...
- drozer安装使用教程(Windows)
drozer和adb一样,又不是新出的工具,本不该出了这么久还要由我这样半懂不懂的再写篇东西了.但是还是一样每次使用都得百度和筛选半天,所以记下来算给自己看.以后看到我还写些老掉牙的东西都是这个原因, ...
- Windows系统目录解释
目录 说明 C:\Program Files 64位程序安装目录 C:\Program Files (x86) 32位程序安装目录 C:\Windows 操作系统主要目录 C:\Windows\Sys ...
- [转]java异常中Exception捕获不到的异常
一 概念 众所周知java提供了丰富的异常类,这些异常类之间有严格的集成关系,分类为 父类Throwable Throwable的两个子类Error和Exception Exception的两个子类C ...
- 锚点 , angular 锚点 vue锚点
因为最近在开发angular,自己有路由 用window.location跳到默认路由,查了半天用angular方式不好解决 ,so 原生走起 START scrollIntoView是一个与页面(容 ...