5 、 Pattern 類和 Matcher 類:
1)Pattern 類主要是表示一個規則的意思:正則表達式的規則要在 Pattern 類中使用。
2)Matcher 類主要表示使用 Pattern 類指定好的驗證規則。
public static Pattern compile ( String regex)
將給定的正則表達式編譯到模式中。
public static Pattern compile ( String regex intflags)
將給定的正則表達式編譯到具有給定標志的模式中。
public Matcher matcher ( CharSequence input)
創建匹配給定輸入與此模式的匹配器。
public String [] split ( CharSequence input)
圍繞此模式的匹配拆分給定輸入序列。
此方法的工作方式類似于使用給定的輸入序列和限制參數零調用兩參數 (java.lang.CharSequence, int) split} 方法。因此,得到的數組中不包括尾部空字符串。
例1:驗證日期 1983-04-22
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo03 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str = "1983-04-22";//定義日期字符串 String pat = "\\d{4}-\\d{2}-\\d{2}";//定義正則表達式 Pattern p = Pattern.compile(pat);//實例化Pattern類 Matcher m = p.matcher(str);//實例化Matcher類 if(m.matches()){ System.out.println("日期格式正確!"); }else{ System.out.println("日期格式不正確!"); } } }
運行截圖:
例二:將字符串進行拆分:
public String [] split( CharSequence input)
圍繞此模式的匹配拆分給定輸入序列。
此方法的工作方式類似于使用給定的輸入序列和限制參數零調用兩參數 (java.lang.CharSequence, int) split} 方法。因此,得到的數組中不包括尾部空字符串。
import java.util.regex.Pattern; public class RegexDemo04 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //將字符串按數字進行拆分 String str = "A1B22C35255D4444E8460F630636";//定義字符串 String pat = "\\d+";//定義正則 Pattern p = Pattern.compile(pat);//實例化Pattern類 String s[] = p.split(str);//按數字拆分字符串 for(int i=0;i<s.length;i++){ System.out.print(s[i]+"\t"); } } }
運行截圖:
例子3:字符串替換
public String replaceAll( String replacement)
替換模式與給定替換字符串相匹配的輸入序列的每個子序列。
import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexDemo04 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //將字符串中的數字進行替換為下劃線 String str = "A1B22C35255D4444E8460F630636";//定義字符串 String pat = "\\d+";//定義正則 Pattern p = Pattern.compile(pat);//實例化Pattern類 Matcher m = p.matcher(str); String newStr = m.replaceAll("_"); System.out.println(newStr); } }
運行截圖:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
