今天剛剛看了String.match的用法,時(shí)間不長(zhǎng),代碼不長(zhǎng),不過可以記錄一下,方便大家
match()的參數(shù)一般為正則表達(dá)式,現(xiàn)在兩個(gè)正則表達(dá)式,可以試用
正則表達(dá)式一:可以適用任何形式的字符串,
其中LikeType是要匹配的字符串,patten是生成的正則表達(dá)式,sourceStr是已有字符串,判斷sourceStr是否滿足LikeType的正則表達(dá)式
public static void main(String[] args) {
// TODO Auto-generated method stub
String likeType = "23";
String pattern = "[a-zA-Z0-9]*[" + likeType + "]{1}[a-zA-Z0-9]*";
String sourceStr = "adfjaslfj23ldfalsf";
System.out.println(sourceStr.matches(likeType));
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String likeType = "%%%23%%%*";
String sourceStr = "423236664";
likeType = likeType.replaceAll("%", "\\\\d").replaceAll("\\*", "\\\\d\\*");
System.out.println(likeType);
System.out.println(sourceStr.matches(likeType));
}
match的方法比較簡(jiǎn)單,但絕對(duì)實(shí)用,所以要掌握用法,正則表達(dá)式的寫法尤其重要。
就這些吧,上面的代碼可以直接使用,歡迎測(cè)試
System.out.println(sourceStr.matches(likeType));
應(yīng)該是System.out.println(sourceStr.matches(pattern));
string.matchs("\\d");
string.matchs("\\d"); 這個(gè)只能判斷string是一位數(shù)字
判斷是否為數(shù)字?怎么寫
應(yīng)該是String.matches("\\d+")