java-正则表达式

1、什么是正则表达式

定义了一组查找模式的有序字符串

2、正则表达式的基础语法有哪些

单匹配单个字符

. 任意字符

d 数字[0-9]

D 非数字[^0-9]

s 空白字符[ x0bf ]

w 一个字符[a-zA-Z_0-9]

范围匹配单个字符

[abc]         simple class

[^abc]        negation

[a-zA-Z]  range

[a-d[m-p]]  [a-dm-p] union

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

[a-z&&[^bc]]  [ad-z] subtraction

[a-z&&[^m-p]]  [a-lq-z] subtration

---|匹配多个字符 贪婪模式

? 0个或1个

* 任意多个相同字符(0或多个) "".matches("m*")

+ 1个或多个字符

X{n} =n

X{n,} >=n

X{n,m} <=n <=m

--|边界匹配

^abc   start with "abc"  [^abc] not "a"、"b"、"c"

abc$  end with "abc"

3、java怎么使用正则表达式

Pattern类 Matcher类

Pattern p = Pattern.compile()方法 //先把正则表达式生成一个Pattern对象

Matcher m = p.matcher()方法  //通过Pattern对象matcher方法把查找的内容生成一个Mathcher对象

m.matches()方法

m.find()方法  //顺序匹配

m.group()方法  //通过find后,就可以group获取

m.reset()方法

m.start()方法

m.end()方法

4、正则表达的高阶用法

分组 括号 数左括号

贪婪模式  .* 

非贪婪模式  .*?

原文地址:https://www.cnblogs.com/zhuzhuqwa/p/6287508.html