JAVA之正则表达式

正则表达式:处理字符串的利器
一个正则表达式就是由普通的字符例如字符( a 到 z)以及特殊字符(元字符)组成的文字模式


API:
String
Pattern:正则表达式的编译表示形式。
Matcher:匹配器

Pattern:
static Pattern compile(String regex) : 根据正则表达式创建,正则表达式对象
Matcher matcher(String str) :根据需要判断的字符串 返回一个对应的匹配器

Matcher:
boolean find():
尝试查找与该模式匹配的输入序列的下一个子序列

String group() 返回由以前匹配操作所匹配的输入子序列。

boolean lookingAt() 尝试将从区域开头开始的输入序列与该模式匹配

replaceAll(String replacement) :将与正则表达式匹配的子序列替换成指定字符

------------------------------------------

Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n
X{n,} X,至少 n
X{n,m} X,至少 n 次,但是不超过 m

Greedy,贪婪的,一次读取最多个数,不符合,回吐一个

Reluctant 数量词
X?? X,一次或一次也没有
X*? X,零次或多次
X+? X,一次或多次
X{n}? X,恰好 n
X{n,}? X,至少 n
X{n,m}?

X,至少 n 次,但是不超过 m

Reluctant:勉强的 ,一次读取最少个数,不符合,再读一个

Possessive 数量词
X?+ X,一次或一次也没有
X*+ X,零次或多次
X++ X,一次或多次
X{n}+ X,恰好 n
X{n,}+ X,至少 n
X{n,m}+ X,至少 n 次,但是不超过 m

Possessive :占有的,一次读取最多个数,不会回吐一个

量词的区别会导致匹配的结果不同

原文地址:https://www.cnblogs.com/java888/p/10418505.html