記下一些知識。。。。。
Java Pattern類
Pattern在java.util.regex包中,是正則表達式的編譯表示形式,此類的實例是不可變的,可供多個並發線程安全使用。
定義
public final class Pattern extends Object implements Serializable
實例的獲取
構造器是私有的
private Pattern(String p, int f) { // }
不可在外部調用
可通過靜態方法來獲取Pattern實例;
public static Pattern compile(String regex) { return new Pattern(regex, 0); } public static Pattern compile(String regex, int flags) { return new Pattern(regex, flags); }
第二個方法暫時沒用過。。。。。
實例:
String reg = "(http://|https://)?[^/]*\\.(com|cn|net|org|biz|info|cc|tv)";
//執行匹配 Pattern p = Pattern.compile(reg);// 把正則表達式編譯成模式對象 Matcher m = p.matcher(url);//通過模式對象創建匹配器對象
方法
String pattern()
返回該Patter對象所編譯的正則表達式
String[ ] Pattern.split(CharSequence input)
此方法用於(使用正則表達式作為規則來)分隔字符串(去除匹配的字符串),並返回一個String[]。此方法將目標字符串按照Pattern里所包含的正則表達式為模進行分割,它的工作方式類似於使用給定的輸入序列和限制參數零調用兩個參數的方法
Pattern p=Pattern.compile("\\d+"); String[] str=p.split("我的QQ是:456456我的電話是:0532214我的郵箱是:aaa@aaa.com"); 運行結果 str[0]="我的QQ是:" str[1]="我的電話是:" str[2]="我的郵箱是:aaa@aaa.com"
String[] split(CharSequence input, int limit)
input:要拆分的字符序列;limit:結果閾值,控制應用模式的次數(若次數n大於0 ,則得到的數組長度最大為n;若小於0,則不受限制;若為0,則不受限制,但丟棄最后的並且將丟棄尾部空字符串)
bollean Pattern.matcher(String regex,CharSequence input)
此方法是一個靜態方法,用於快速匹配字符串,該方法適合用於只匹配一次,且匹配全部字符串.只有整個字符串都匹配了才返回true
等價於 Pattern.compile(regex).matcher(input).matches()
Matcher Pattern.matcher(CharSequence input)
返回一個Matcher對象,Pattern類只能做一些簡單的匹配操作,要想得到更強更便捷的正則匹配操作,那就需要將Pattern與Matcher一起合作。
總結
Pattern類用於創建一個正則表達式,也可以說創建一個匹配模式,它的構造方法是私有的,不可以直接創建,但可以通過Pattern.complie(String regex)簡單工廠方法創建一個正則表達式。