5 、 Pattern 類和 Matcher 類:
1)Pattern 類主要是表示一個(gè)規(guī)則的意思:正則表達(dá)式的規(guī)則要在 Pattern 類中使用。
2)Matcher 類主要表示使用 Pattern 類指定好的驗(yàn)證規(guī)則。
public static Pattern compile ( String regex)
將給定的正則表達(dá)式編譯到模式中。
public static Pattern compile ( String regex intflags)
將給定的正則表達(dá)式編譯到具有給定標(biāo)志的模式中。
public Matcher matcher ( CharSequence input)
創(chuàng)建匹配給定輸入與此模式的匹配器。
public String [] split ( CharSequence input)
圍繞此模式的匹配拆分給定輸入序列。
此方法的工作方式類似于使用給定的輸入序列和限制參數(shù)零調(diào)用兩參數(shù) (java.lang.CharSequence, int) split} 方法。因此,得到的數(shù)組中不包括尾部空字符串。
例1:驗(yàn)證日期 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}";//定義正則表達(dá)式
Pattern p = Pattern.compile(pat);//實(shí)例化Pattern類
Matcher m = p.matcher(str);//實(shí)例化Matcher類
if(m.matches()){
System.out.println("日期格式正確!");
}else{
System.out.println("日期格式不正確!");
}
}
}
運(yùn)行截圖:
例二:將字符串進(jìn)行拆分:
public String [] split( CharSequence input)
圍繞此模式的匹配拆分給定輸入序列。
此方法的工作方式類似于使用給定的輸入序列和限制參數(shù)零調(diào)用兩參數(shù) (java.lang.CharSequence, int) split} 方法。因此,得到的數(shù)組中不包括尾部空字符串。
import java.util.regex.Pattern;
public class RegexDemo04 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//將字符串按數(shù)字進(jìn)行拆分
String str = "A1B22C35255D4444E8460F630636";//定義字符串
String pat = "\\d+";//定義正則
Pattern p = Pattern.compile(pat);//實(shí)例化Pattern類
String s[] = p.split(str);//按數(shù)字拆分字符串
for(int i=0;i<s.length;i++){
System.out.print(s[i]+"\t");
}
}
}
運(yùn)行截圖:
例子3:字符串替換
public String replaceAll( String replacement)
替換模式與給定替換字符串相匹配的輸入序列的每個(gè)子序列。
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
//將字符串中的數(shù)字進(jìn)行替換為下劃線
String str = "A1B22C35255D4444E8460F630636";//定義字符串
String pat = "\\d+";//定義正則
Pattern p = Pattern.compile(pat);//實(shí)例化Pattern類
Matcher m = p.matcher(str);
String newStr = m.replaceAll("_");
System.out.println(newStr);
}
}
運(yùn)行截圖:
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

