正则表达式:

  定义:在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(正则表达式)的更多相关文章

  1. 【java学习笔记】正则表达式

    一.正则表达式 1.预定义字符集  . 表示任意一个字符 \d 表示任意一个数字 \w 表示任意一个单词字符(只能是数字.字母.下划线) \s 表示任意一个空白字符(\t\r\n\f\x0B) \D ...

  2. java学习笔记之正则表达式

    一般来说,正则表达式就是以某种方式来描述字符串,因此你可与说:"如果一个字符串符合有这些东西,那么它就是我正在找的东西. 1.要找一个数字,如果它可能有一个负号在最前面(可能没有,没有也是匹 ...

  3. 9.1(java学习笔记)正则表达式

    一.正则表达式 1.1正则表达式 正则表达式是描述一种规则,通过这个规则可以匹配到一类字符串. 2.1正则语法 2.1.1普通字符:字母.数字.下划线.汉字以及没有特殊意义的符号都是普通字符. 正则表 ...

  4. Java学习笔记二——正则表达式

    Java正则表达式 正则表达式的规则 “abc” 匹配字符串abc [abc] 匹配[]里任意一个字符 [a-z]: 匹配所有小写字母中的任意一个字符 [A-Z]: 匹配所有大写字母中的任意一个字符 ...

  5. Java 学习笔记(16)——Java数据库操作

    数据库操作是程序设计中十分重要的一个部分,Java内置JDBC来操作数据库 JDBC使用 JDBC--Java Database connecting Java数据库连接:本质上JDBC定义了操作数据 ...

  6. Java学习笔记16(面向对象九:补充内容)

    总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不 ...

  7. JAVA学习笔记16——控制线程

    Java的线程支持提供了一些便捷的工具方法,通过这些便捷的工具方法可以很好地控制线程执行.   join线程 Thread提供了让一个线程等待另一个线程完成的方法——join().当在某个线程执行流中 ...

  8. JAVA学习笔记16——线程生命周期

    当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态,在线程的生命周期中,它要经过新建(New).就绪(Runnable).运行(Running).阻塞(Blocking)和 ...

  9. JAVA学习笔记16——线程的创建和启动

    Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例.每个线程的作用是完成一定的任务,实际上就是执行一段程序流(一段顺序执行的代码).Java使用线程执行体来代表这段 ...

随机推荐

  1. python:字典嵌套列表

    Python的字典{ }以键值对的形式保存数据,可以以键来访问字典中保存的值而不能用下标访问.字典中几乎可以包含任意的变量,字典,数列,元组.数列也一样. python的列表[ ]与字典不同,列表通过 ...

  2. Spring boot(六)优雅使用mybatis

    orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句SQL的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统开 ...

  3. 浅谈mysql中各种表空间(tablespaces)的概念

    mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一 ...

  4. 反向代理/负载均衡/session/cookie

    正向代理:客户端将流量重定向到burpsuite等软件或连接到VPN再访问服务器而不是直接访问服务器的场景.流量流动方向是真正机器--代理服务器.正向代理又称代理.普通代理. 反向代理:服务器端使用反 ...

  5. Windows平台dump文件的产生,调试;工程配置pdb文件怎么生成

    http://blog.csdn.net/byxdaz/article/details/25872151

  6. reload() 函数

    reload() 函数 当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次. 因此,如果你想重新执行模块里顶层部分的代码,可以用 reload() 函数.该函数会重新导入之前导入过的模块.语 ...

  7. js如何通过末次月经日期计算预产日期

    计算方式有两种 1)直接添加280天 2)添加10月8天(参数传递,可用改成9月7天等) js中引入文件 <script src="js/jquery.min.js"> ...

  8. std::string find 的返回值

    std::string  的方法 find,返回值类型是std::string::size_type, 对应的是查找对象在字符串中的位置(从0开始), 如果未查找到,该返回值是一个很大的数据(4294 ...

  9. Cyclic Components CodeForces - 977E(DFS)

    Cyclic Components CodeForces - 977E You are given an undirected graph consisting of nn vertices and  ...

  10. Win10系列:JavaScript图形

    在页面中添加canvas元素会在页面上生成一个矩形的位图画布,可以使用JavaScript在画布上实时绘制图形图像.在绘制图形时,需要先调用画布的getContext函数获取与该画布相关的用于绘制图形 ...