1.正则语法:元字符,量词,范围,组,属性

2.String类常用正则方法split,indexOf,replaceAll

3.Java正则类Pattern,Match而的使用

1.String常用方法回顾

String非常重要的类:使用频率高

charAt(int index)根据对应角标位获得字符

indexOf(String str) 根据一个字符串,获得角标位

substring(int beginIndex,int endIndex) 根据起始角标和终点角标,获得子字符串;截取字符串

split(String reg) 根据切割规则,把字符串切割成一个字符数组

2.传统和正则两种方式校验QQ合法性

字符可以直接和数字做比较

// 正则表达式;人为定义的规则,通过调用方法,把规则传给他

/*   * 函数声明,1.是否有返回值,2.是否依赖第三方变量; 合法QQ满足条件:4~11位长;都是数字;不能以数字0开头;;;规则,定义规则,自动判断   */

// 1.先判断字符串长度,如果不满足4~11返回false

// 2.通过charAt拿到每一字符,和数字0~9比较:如果出现了非数字,返回false

// 3.再判断,首字符如果为0,直接返回false

// 4.返回true

3.正则语法基础

正则;其实就是规则,模式,主要用于操作字符串

主要目的:匹配一串字符串是否符合特定规则

从字符串获取我们想要的特定部分

字符类

[a,b,c] a或b或c

[^a,b,c]除了abc之外的任意字符

[a-zA-Z] 小写到大写 的任意字符

[a-d[m-p]]a到d或m到p 并集

[[a-z]&&[def]]

[[a-z]&&[^dg]]

预定义字符

.表示任意字符

\d 表示数字 [0-9]

\D 表示非数字

\s 空白字符

\S 非空白符

\w  单词字符[a-zA-Z_0-9]

\W 非单词字符

POSIX 字符

边界匹配器

^ 行的开头

$ 行的结尾

\b 单词边界

\B  非单词边界

\A  输入的开头

\G 上一个匹配的结尾

\Z 输入的结尾

\z输入的结尾

Greedy 数量词

4.匹配和切割(正则中组的用法)

正则常见操作(前3个都是面向字符串的)

匹配 .matches(String reg)

切割 .split(String reg)

替换 .replaceAll(String reg,String replacement)

获取.Pattern 把正则中的规定,人为定义的规则定义成一个类

1.先创建正则对象(这个类没有提供构造函数,不可以通过new关键字创建对象)

Pattern p=Pattern.complie("a*b");根据正则表达式转换为一个正则对象

Matcher m=p.matcher("abbbbb");匹配器,引擎

boolean b=m.matches();

5.替换(正则中$的用法)

6.获取(Pattern和Matcher)

Java正则类Pattern,Matcher

*  * Pattern p=Pattern.complie("a*b");通过complie方法把表达式转成正则对象

*Matcher m=p.matcher("abbbbb");匹配器,引擎

*boolean b=m.matches();  *1.首先按面向对象的思想,把正则表达式也封装成对象pattern,但是该类没有构造函数,只能通过它的静态方法获取该类的实例  *2.通过正则对象获取,匹配器,因为匹配器需要依赖正则表达式和字符串,所以说需要他字符串作为参数传给获取匹配器的方法  *3.通过匹配器的相应方法完成想要的操作

*/

Java基础高级一(正则表达式)的更多相关文章

  1. java 基础知识八 正则表达式

    java  基础知识八  正则表达式 正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待 ...

  2. Java 基础高级2 网络编程

    1.协议的概念:通信双方事先约定好的通信规则 2七层网络通信协议:应用成,表示层,会话层,传输层,网络层,数据链路层 3.TCP/IP协议:点对点通信,三层握手,安全有保证 4.UDP协议;广播协议, ...

  3. Java基础高级二(多线程)

    1.进程和线程的区别:线程是轻量级的,本省不会持太多资源,需要的时候向进程申请 2.线程的状态:创建,可执行,执行中,等待,休眠,阻塞 3.线程状态之间的转换 4.线程API:Thread类,Runn ...

  4. [Java基础复习] -- x. 正则表达式的使用

    序号待定, 先用x占位表示 理论知识待完善, 先贴上代码 import java.util.regex.Matcher; import java.util.regex.Pattern; import ...

  5. Java基础高级部分(一)

    1. 集合部分 1.1 HashMap排序 package cn.Douzi.hashMap01; import java.util.ArrayList; import java.util.Colle ...

  6. Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )

    正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...

  7. java基础高级2 MySQL 高级

    1.数据库简介 DDL(数据定义语言) DML(数据操作语言) 2. 准备工作 解压缩文件目录下找到my.ini文件,文件中写入[mysql] default-character set= utf-8 ...

  8. Java基础高级篇 NIO

    nio模型与io模型的对比 netty 是什么 怎么使用

  9. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

随机推荐

  1. python基础补漏-03-函数

    函数:一般来说就是 以功能划分的代码模块 [1] 内置函数 一般我们使用的模块 ---可以大概有个了解 大多数的用法都很简单 2 [函数返回值] 我们应该控制函数的每条分支. 也就是说 我们得到的函数 ...

  2. java中关键字volatile的作用

    用在多线程,同步变量. 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B.只在某些动作时才进行A和B的同步.因此存在A和B不一致的情况.volatile就是用来 ...

  3. div+css:div中图片垂直居中

    div中图片垂直居中 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  4. 使用Zabbix官方模板监控Redis运行状况

    运行环境: OS:CentOS 6.8 / Python: 2.6.6 / Pip: 7.1.0 / Redis:3.0 / Zabbix:3.0.3 Zabbix官方提供的监控模板. 项目地址:ht ...

  5. Python 3.5源码编译安装

    系统环境:CentOS 6.8-Minimal 安装Python依赖包: [root@Python src]# yum install zlib-devel bzip2-devel openssl-d ...

  6. CSS style和HTML style有什么区别?

    https://zhidao.baidu.com/question/1238362131134658699.html 没有什么区别啊,都是样式的意思. 没有分别的!CSS提高代码重用性,加速浏览器下载 ...

  7. C3P0连接池配置和实现详解

    一.配置 <c3p0-config> <default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数.Default: 3 --> ...

  8. ReportServices如何在一页中将报表分成两列显示

    创建两个数据集 DataSet1    DataSet2 DataSet1 SELECT   TOP                    (SELECT   (COUNT(*) + 1) / 2 A ...

  9. Oracle创建自增ID

    先创建序列sequence create sequence S_User minvalue 1 nomaxvalue  -- 或 maxvalue 999 start with 1 increment ...

  10. [原创] Delphi小工具(Windows资源管理器右键菜单扩展)

    两个小工具 1. 项目临时文件清理 2. Android Ndk 编译 c/c++ jni 源码工具. 下载后,点击Reg.bat就可以完成注册安装.不需要时点击 UnReg.Bat 就可以删除菜单. ...