Java基础高级一(正则表达式)

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  非单词边界

A  输入的开头

G 上一个匹配的结尾

 输入的结尾

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.通过匹配器的相应方法完成想要的操作

 */

原文地址:https://www.cnblogs.com/shiyeyeyeye/p/5147664.html