正则表达式的实现主要使用两个类文件
java.util.regex.Pattern
java.util.regex.Matchers
具体的表达式摘要 在Pattern 类里面可以看到
[]字符类
[] 里面 && 表示两个条件的交集 ,^表示非
[a-z] 选取 a-z 范围内的一个字符
常用几个 空白字符:
/* * \n 换行
* \r 回车符
* \t 制表符
*/
经常使用的表示字符:
* . 任意字符
* \d [0-9]数字
* \D [^0-9]非数字
* \s [\n\r\t]空白字符
* \S [^\s]非空白字符
* \w [a-zA-Z_]单词字符
* \W [^\w] 非单词字符
然后是字符的数量表达
greedy quantifier 贪婪 (常用方式)
/* 数量表达
* ? 表示小于等于1
* * 表示大于等于0
* + 表示大于等于1
* {n} 表示刚好出现n
* {n,} 表示大于等于n
* {n,m} n 到 m之间
reluctant quantifier() 懒惰方式 上面的基础上加一个 ?
边界问题
常用的 * 边界问题
* ^ 开头
* $ 结尾
* \b单词边界
* \B 非单词边界
然后是具体的匹配过程 代码
Pattern p = Pattern.compile(""); //编译正则
Matcher m = p.matcher(xx); //进行内容的匹配
m.matches(); //boolean 返回 看是否匹配
一般会用 while(m.find()){ m.group} 输出相关匹配的内容 可以对文件扫描进行相关的应用
9.12 下午