正则表达式
按照某种规则去匹配符合条件的字符串,我们常使用缩写的术语“regex”或“regexp”。
基础语法如下
ps:在规则里两个\才等于一个\
single char (单字符) quantifiers(数量) position(位置) \d 匹配数字[0-9] * 0个或者更多(任意字符) ^一行的开头 \D 非数字(中文、符号) + 1个或更多,至少1个 $一行的结尾 \w 匹配word(数字、字母)[a-zA-Z0-9] ? 0个或1个,一个Optional \b 单词"结界"(word bounds) \W 匹配非word(数字、字母) {min,max}出现次数在一个范围内 \s 匹配white space空白的意思(包括空格、tab等) {n}匹配出现n次的 \S 匹配非white space(包括空格、tab等) . 匹配任何,任何的字符
- 在string中的应用
-
matches(String regex) 判断 返回boolean
- 检查是否符合正则表达式的规则
-
split(String regex) 分割 返回String[]
- 根据给定的正则表达式的匹配拆分此字符串
- aa,bb,cc regex(‘,’) 得出aabbcc
-
replaceAll(String regex,String replacement) 替换 返回String
- 使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串
-
Pattern和Matcher类 获取
-
将符合正则表达式的内容提取出来
-
Pattern p = Pattern.complie(regex) 把正则表达式编译成模式对象
Matcher m = p.matcher(“需要判断的字符串”) 通过模式对象得到匹配器对象
调用匹配器对象的方法 获取常用如下
一定要先判断再提取=>先调用find方法判断是否有匹配的字串,在调用group()获取
whlie(m.find()){
system.out.println(m.group());
}
-
-