可視化正則表達式整理

整理一些常見的正則表達式(附可視化鏈接)


image

數字相關

public static final String P_N_1 = "^[0-9]*$";// 數字
public static final String P_N_2 = "^\\d{3}$";// 3為數字
public static final String P_N_3 = "^\\d{3,}$";// 至少3位數字
public static final String P_N_4 = "^\\d{3,5}$";// M之N位數字
public static final String P_N_6 = "^-?[1-9]\\d*$";// 整數
public static final String P_N_7 = "^[1-9]\\d*$";// 正整數
public static final String P_N_8 = "^-[1-9]\\d*$";// 負整數

字符串相關

public static final String P_S_0 = "[\\u4e00-\\u9fa5]";// 中文
public static final String P_S_1 = "^.{3,20}$";// 長度為M至N的所有字符
public static final String P_S_2 = "^[A-Za-z]+$";// 純英文字母
public static final String P_S_3 = "^[A-Z]+$";// 純大寫英文字母
public static final String P_S_4 = "^[a-z]+$";// 純小寫英文字母
public static final String P_S_5 = "^[A-Za-z0-9]+$";// 數字和英文字母
public static final String P_S_6 = "^[\\u4E00-\\u9FA5A-Za-z0-9_]+$";// 中文、英文、數字或下劃線
public static final String P_S_7 = "^\\\\w+$";// 中文、英文、數字或下劃線
public static final String P_S_8 = "^[\\u4E00-\\u9FA5A-Za-z0-9]{2,20}$";// 中文、英文、數字[不包括下劃線]
public static final String P_S_9 = "^(f|ht){1}(tp|tps):\\\\/\\\\/([\\\\w-]+\\\\.)+[\\\\w-]+(\\\\/[\\\\w- ./?%&=]*)?";// 賽選字符串中的URL

密碼相關

public static final String P_P_0 = "^(?=.*\\\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";// 密碼強度
public static final String P_P_1 = "^[A-Za-z0-9]+$";// 英文&數字
public static final String P_P_2 = "^[A-Za-z0-9]{4,40}$";// 英文&數字
public static final String P_P_3 = "^\\w+$ 或 ^\\w{3,20}$";// 數字、英文字母或下劃線
public static final String P_P_4 = "^[a-zA-Z]\\w{5,17}$";// 密碼【以字母開頭,長度在6~18之間,只能包含字母、數字和下劃線】
public static final String P_P_5 = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";// 強密碼【必須包含大小寫字母和數字的組合,不能使用特殊字符,長度在8-10之間】

時間相關

public static final String P_T_0 = "^\\d{4}-\\d{1,2}-\\d{1,2}";// 日期格式
public static final String P_T_1 =
        "^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$\n";//校驗日期 【“yyyy-mm-dd“ 格式的日期校驗,已考慮平閏年。】

其他

public static final String P_O_1  = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";// Email
public static final String P_O_2  = "[\\\\w!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[\\\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\\\w](?:[\\\\w-]*[\\\\w])?\\\\.)+[\\\\w](?:[\\\\w-]*[\\\\w])?";// Email
public static final String P_O_3  = "[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?";// 域名
public static final String P_O_4  = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$";// 手機號碼
public static final String P_O_5  = "^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\\\d{8}$";// 手機號碼
public static final String P_O_6  = "^\\d{15}|\\d{18}$";// 身份證號
public static final String P_O_7  = "^[1-9]\\\\d{7}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}$";// 15位身份證號
public static final String P_O_8  = "^[1-9]\\\\d{5}[1-9]\\\\d{3}((0\\\\d)|(1[0-2]))(([0|1|2]\\\\d)|3[0-1])\\\\d{3}([0-9]|X)$";// 18位身份證號
public static final String P_0_9  = "^[0-9]+(.[0-9]{2})?$";// 金額校驗,精確到2位小數
public static final String P_0_10 = "\\\\< *[img][^=XXFN}*[src] *= *[\\\\\"\\\\']{0,1}({FNXX=]*)";// 獲取網頁中的圖片信息
public static final String P_0_11 = "[1-9][0-9]\\{4,\\}";// QQ號

判斷是否匹配正則
判定規則
待判定字符串

public static boolean isMatch(String regex, CharSequence str) {
    return str != null && str.length() > 0 && Pattern.matches(regex, str);
}

最后奉上:(可視化正則鏈接)
原文: 可視化正則表達式
作者: appzy

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容