Android 正則表達式

元字符 含義
. 表示任意一個字符
\s 空格字符(空格鍵,tab,換行,換頁,回車)
\S 非空格字符([^\s])
\d 一個數字,(相當於[0-9])
\D 一個非數字的字符,(相當於[^0-9])
\w 一個單詞字符(word character) (相當於[a-zA-Z_0-9])
\W 一個非單詞的字符,[^\w]
^ 一行的開始
$ 一行的結尾
\b 一個單詞的邊界
\B 一個非單詞的邊界
[] 匹配方括號內的一個字符

表示次數的元字符

元字符 含義
* 重複零次或更多次
+ 重複一次或更多次
? 重複零次或一次
{n} 重複n次
{n,} 重複n或更多次數
{n,m} 重複n到m次

正則表達式,最重要的就是匹配規則的書寫,其實正則表達式,並不難,只要對其組成的元字符有一定的瞭解,就比較簡單了
正則表達式,是驗證字符串的神器,學會了將很大的縮短字符串處理所需要的事件和代碼量
正則表達式的書寫時由元字符組成的
上面的表格就是部分常用元字符,及其含義。
我們就用常見的判斷手機號碼的正則表達式來看看:

    public static boolean checkPhone(String phone) {
        //其中compile的參數就是正則表達式的所要執行的匹配的規則
        //前面小括號內別看有那麼多東西,其實所匹配的數字只有3個
        // | 符號的意思就是或即從其中尋找能匹配上的字符  我們來減少點說
        //(13[0-9]|15[0-9]|153)
        //比如 字符串  13[0-9] 這個字符串所匹配的是一個長度爲3的字符 前兩位必須是13 最後一位必須是0-9中的一個
        //15[0-9]和上面的規則時一樣的   而153就簡單了 153 表示字符必須只能時153不能時其他的
        //(13[0-9]|15[0-9]|153) 和起來就表示 一個字符串必須滿足3個規則中的一個才時true否則就是false
        //繼續來看下面的規則 
        // 也就是說一個字符串的前三位必須滿足下面8個規則中的一個
        //後面的\\d{8}表示 \\d==\d 只是因爲java中轉義字符的原因所以纔要多加一個
        //上面的表格中已經寫了 \d表示的時數字
        //{8} 表示的是循環匹配8次
        //總的 前面的3位數的匹配時驗證 對應的電話號碼段
        //後面的8位必須是數字 這樣加起來就對8+3=11 爲電話號碼的長度
        Pattern pattern = Pattern
                .compile("^(13[0-9]|15[0-9]|153|15[6-9]|180|18[23]|18[5-9]|17[37])\\d{8}$");
        Matcher matcher = pattern.matcher(phone);

        if (matcher.matches()) {
            return true;
        }
        return false;
    }

也可以用一下這種方式直接匹配正則表達式,返回值時boolean

new String().matches("^(13[0-9]|15[0-9]|153|15[6-9]|180|18[23]|18[5-9]|17[37])\\d{8}$");

當然我說的還不夠詳細,如果想看更詳細的,請看下面鏈接:
http://baike.baidu.com/link?url=wSJQPNvPjvO8wtR-tJWI21FBizUGb8GO7YJwvl603MyJ17B6qif0jNaKtLxXSOKUDHd75UHE-KeE3S8mB3Vg6a
http://www.cnblogs.com/yirlin/archive/2006/04/12/373222.html
http://www.jikexueyuan.com/course/809.html


2017/04/20 16:11
js平臺正則判斷日期格式:
正確格式示例:2000/01/01 00:00:00

    function checkDateTime(string) {
        var check = /^(\d{4})[/][0-1]\d[/][0-3]\d\s[0-2]\d[:][0-5]\d[:][0-5]\d$/;
        return string.match(check)
    }

2017/08/17 09:36

匹配中文字符的正則表達式: [\u4e00-\u9fa5]

發佈了71 篇原創文章 · 獲贊 80 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章