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 :占有的,一次读取最多个数,不会回吐一个
量词的区别会导致匹配的结果不同