溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

RegexUtils怎么使用

發(fā)布時(shí)間:2021-12-18 14:22:42 來(lái)源:億速云 閱讀:167 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“RegexUtils怎么使用”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“RegexUtils怎么使用”吧!

站點(diǎn)

  • 正則相關(guān)→RegexUtils.java→Test

    isMobileSimple  : 驗(yàn)證手機(jī)號(hào)(簡(jiǎn)單)
    isMobileExact   : 驗(yàn)證手機(jī)號(hào)(精確)
    isTel           : 驗(yàn)證電話號(hào)碼
    isIDCard15      : 驗(yàn)證身份證號(hào)碼15位
    isIDCard18      : 驗(yàn)證身份證號(hào)碼18位
    isEmail         : 驗(yàn)證郵箱
    isURL           : 驗(yàn)證URL
    isZh            : 驗(yàn)證漢字
    isUsername      : 驗(yàn)證用戶名
    isDate          : 驗(yàn)證yyyy-MM-dd格式的日期校驗(yàn),已考慮平閏年
    isIP            : 驗(yàn)證IP地址
    isMatch         : 判斷是否匹配正則
    getMatches      : 獲取正則匹配的部分
    getSplits       : 獲取正則匹配分組
    getReplaceFirst : 替換正則匹配的第一部分
    getReplaceAll   : 替換所有正則匹配的部分


具體路線

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import static com.blankj.utilcode.utils.ConstUtils.*;

/**
 * 
*     author: Blankj
 *     blog  : http://blankj.com
 *     time  : 2016/8/2
 *     desc  : 正則相關(guān)工具類
 *
*/ public class RegexUtils {    private RegexUtils() {        throw new UnsupportedOperationException("u can't instantiate me...");    }    /**     * If u want more please visit http://toutiao.com/i6231678548520731137/     */    /**     * 驗(yàn)證手機(jī)號(hào)(簡(jiǎn)單)     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isMobileSimple(CharSequence input) {        return isMatch(REGEX_MOBILE_SIMPLE, input);    }    /**     * 驗(yàn)證手機(jī)號(hào)(精確)     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isMobileExact(CharSequence input) {        return isMatch(REGEX_MOBILE_EXACT, input);    }    /**     * 驗(yàn)證電話號(hào)碼     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isTel(CharSequence input) {        return isMatch(REGEX_TEL, input);    }    /**     * 驗(yàn)證身份證號(hào)碼15位     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isIDCard15(CharSequence input) {        return isMatch(REGEX_ID_CARD15, input);    }    /**     * 驗(yàn)證身份證號(hào)碼18位     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isIDCard18(CharSequence input) {        return isMatch(REGEX_ID_CARD18, input);    }    /**     * 驗(yàn)證郵箱     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isEmail(CharSequence input) {        return isMatch(REGEX_EMAIL, input);    }    /**     * 驗(yàn)證URL     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isURL(CharSequence input) {        return isMatch(REGEX_URL, input);    }    /**     * 驗(yàn)證漢字     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isZh(CharSequence input) {        return isMatch(REGEX_ZH, input);    }    /**     * 驗(yàn)證用戶名     *

取值范圍為a-z,A-Z,0-9,"_",漢字,不能以"_"結(jié)尾,用戶名必須是6-20位

*     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isUsername(CharSequence input) {        return isMatch(REGEX_USERNAME, input);    }    /**     * 驗(yàn)證yyyy-MM-dd格式的日期校驗(yàn),已考慮平閏年     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isDate(CharSequence input) {        return isMatch(REGEX_DATE, input);    }    /**     * 驗(yàn)證IP地址     *     * @param input 待驗(yàn)證文本     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isIP(CharSequence input) {        return isMatch(REGEX_IP, input);    }    /**     * 判斷是否匹配正則     *     * @param regex 正則表達(dá)式     * @param input 要匹配的字符串     * @return {@code true}: 匹配
{@code false}: 不匹配     */    public static boolean isMatch(String regex, CharSequence input) {        return input != null && input.length() > 0 && Pattern.matches(regex, input);    }    /**     * 獲取正則匹配的部分     *     * @param regex 正則表達(dá)式     * @param input 要匹配的字符串     * @return 正則匹配的部分     */    public static ListgetMatches(String regex, CharSequence input) {        if (input == null) return null;        Listmatches = new ArrayList<>();        Pattern pattern = Pattern.compile(regex);        Matcher matcher = pattern.matcher(input);        while (matcher.find()) {            matches.add(matcher.group());        }        return matches;    }    /**     * 獲取正則匹配分組     *     * @param input 要分組的字符串     * @param regex 正則表達(dá)式     * @return 正則匹配分組     */    public static String[] getSplits(String input, String regex) {        if (input == null) return null;        return input.split(regex);    }    /**     * 替換正則匹配的第一部分     *     * @param input       要替換的字符串     * @param regex       正則表達(dá)式     * @param replacement 代替者     * @return 替換正則匹配的第一部分     */    public static String getReplaceFirst(String input, String regex, String replacement) {        if (input == null) return null;        return Pattern.compile(regex).matcher(input).replaceFirst(replacement);    }    /**     * 替換所有正則匹配的部分     *     * @param input       要替換的字符串     * @param regex       正則表達(dá)式     * @param replacement 代替者     * @return 替換所有正則匹配的部分     */    public static String getReplaceAll(String input, String regex, String replacement) {        if (input == null) return null;        return Pattern.compile(regex).matcher(input).replaceAll(replacement);    } }

終點(diǎn)站

相信乘客們都沒(méi)有見(jiàn)到相應(yīng)的正則表達(dá)式,因?yàn)槲易隽?code>import static com.blankj.utilcode.utils.ConstUtils.*;,相關(guān)常量都在這個(gè)常量工具類里,下面貼出相關(guān)代碼。

/******************** 正則相關(guān)常量 ********************/
/**
 * 正則:手機(jī)號(hào)(簡(jiǎn)單)
 */
public static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";
/**
 * 正則:手機(jī)號(hào)(精確)
 *移動(dòng):134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188*聯(lián)通:130、131、132、145、155、156、175、176、185、186*電信:133、153、173、177、180、181、189*全球星:1349*虛擬運(yùn)營(yíng)商:170*/
public static final String REGEX_MOBILE_EXACT  = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";
/**
 * 正則:電話號(hào)碼
 */
public static final String REGEX_TEL           = "^0\\d{2,3}[- ]?\\d{7,8}";
/**
 * 正則:身份證號(hào)碼15位
 */
public static final String REGEX_ID_CARD15     = "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$";
/**
 * 正則:身份證號(hào)碼18位
 */
public static final String REGEX_ID_CARD18     = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9Xx])$";
/**
 * 正則:郵箱
 */
public static final String REGEX_EMAIL         = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
/**
 * 正則:URL
 */
public static final String REGEX_URL           = "[a-zA-z]+://[^\\s]*";
/**
 * 正則:漢字
 */
public static final String REGEX_ZH            = "^[\\u4e00-\\u9fa5]+$";
/**
 * 正則:用戶名,取值范圍為a-z,A-Z,0-9,"_",漢字,不能以"_"結(jié)尾,用戶名必須是6-20位
 */
public static final String REGEX_USERNAME      = "^[\\w\\u4e00-\\u9fa5]{6,20}(?

到此,相信大家對(duì)“RegexUtils怎么使用”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI