知道这强大的玩意很久了,一直没用到就没看,趁目前学习 Java 中顺便学习之 …
初识
正则表达式是一个用于匹配字符串的模版,提供 查找、分割、提取、替换 等操作。Pattern 类和 Matcher 类用于支持正则表达式,Pattern 对象是正则表达式编译后在内存中的表示形式,Matcher 对象保存执行匹配所涉及的状态,多个 Matcher 对象可以共享一个 Pattern 对象。
· 合法字符 和 特殊字符:*≥0,+≥1,0≤?≤1
· 通配符:预定义字符 和 边界匹配符;
· 方括号表达式 和 圆括号表达式:
· 数量表示符:默认 Greedy 模式
Pattern pat = Pattern.comlile("a*b");
Matcher mat = pat.matcher("b");
boolean res1 = mat.matches();
boolean res2 = Pattern.matches("a*b", "b");
// res1 = res2。 另外可以利用 String 类的 matches()方法
boolean res = 目标字符串.matches("正则表达式");
其中,Pattern 不可变类,并发线程安全;Matcher 类的实例方法 find() 和 group() 可以从目标字符串中依次取出特定子串,start() 和 end() 确定子串的起始位置。
参考
· 初识正则表达式;
· 正则表达式 - dudu的blog;
· 正则表达式 - 反向引用;
· ip地址;