10.正則表達式的概述

正則表達式概述

正則表達式是專門解決字符串規(guī)則匹配的工具李请。
正則表達式也是一個字符串瞧筛,用來定義匹配規(guī)則。
參照幫助文檔导盅,在Pattern類中有簡單的規(guī)則定義较幌,可以結(jié)合字符串類的方法使用。

正則表達式匹配規(guī)則

參照幫助文檔白翻,在Pattern類中有正則表達式的的規(guī)則定義乍炉,正則表達式中明確區(qū)分大小寫字母。我們來學(xué)習(xí)語法規(guī)則滤馍。

正則表達式的語法規(guī)則:

字符:x
含義:代表的是字符x
例如:匹配規(guī)則為 "a"岛琼,那么需要匹配的字符串內(nèi)容就是 ”a”

字符:\
含義:代表的是反斜線字符''
例如:匹配規(guī)則為"\" ,那么需要匹配的字符串內(nèi)容就是 ”\”

字符類:[abc]
含義:代表的是字符a巢株、b 或 c
例如:匹配規(guī)則為"[abc]" 槐瑞,那么需要匹配的內(nèi)容就是字符a,或者字符b阁苞,或字符c的一個

字符類:[^abc]
含義:代表的是除了 a困檩、b 或 c以外的任何字符
例如:匹配規(guī)則為"[^abc]"祠挫,那么需要匹配的內(nèi)容就是不是字符a,或者不是字符b悼沿,或不是字符c的任意一個字符

字符類:[a-zA-Z]
含義:代表的是a 到 z 或 A 到 Z等舔,兩頭的字母包括在內(nèi)
例如:匹配規(guī)則為"[a-zA-Z]",那么需要匹配的是一個大寫或者小寫字母

字符類:[0-9]
含義:代表的是 0到9數(shù)字糟趾,兩頭的數(shù)字包括在內(nèi)
例如:匹配規(guī)則為"[0-9]"慌植,那么需要匹配的是一個數(shù)字

字符類:[a-zA-Z_0-9]
含義:代表的字母或者數(shù)字或者下劃線(即單詞字符)
例如:匹配規(guī)則為" [a-zA-Z_0-9] ",那么需要匹配的是一個字母或者是一個數(shù)字或一個下滑線

預(yù)定義字符類:.
含義:代表的是任何字符
例如:匹配規(guī)則為" . "义郑,那么需要匹配的是一個任意字符涤浇。如果,就想使用 . 的話魔慷,使用匹配規(guī)則"\."來實現(xiàn)

預(yù)定義字符類:\d [0-9]
含義:代表的是 0到9數(shù)字只锭,兩頭的數(shù)字包括在內(nèi),相當于[0-9]
例如:匹配規(guī)則為"\d "院尔,那么需要匹配的是一個數(shù)字

預(yù)定義字符類:\w [a-zA-Z_0-9]
含義:代表的字母或者數(shù)字或者下劃線(即單詞字符)蜻展,相當于[a-zA-Z_0-9]
例如:匹配規(guī)則為"\w ",邀摆,那么需要匹配的是一個字母或者是一個數(shù)字或一個下滑線

數(shù)量詞:X?
含義:代表的是X出現(xiàn)一次或一次也沒有
例如:匹配規(guī)則為"a?"纵顾,那么需要匹配的內(nèi)容是一個字符a,或者一個a都沒有

數(shù)量詞:X*
含義:代表的是X出現(xiàn)零次或多次
例如:匹配規(guī)則為"a*" 栋盹,那么需要匹配的內(nèi)容是多個字符a施逾,或者一個a都沒有

數(shù)量詞:X+
含義:代表的是X出現(xiàn)一次或多次
例如:匹配規(guī)則為"a+",那么需要匹配的內(nèi)容是多個字符a例获,或者一個a

數(shù)量詞:X{n}
含義:代表的是X出現(xiàn)恰好 n 次
例如:匹配規(guī)則為"a{5}"汉额,那么需要匹配的內(nèi)容是5個字符a

數(shù)量詞:X{n,}
含義:代表的是X出現(xiàn)至少 n 次
例如:匹配規(guī)則為"a{5, }",那么需要匹配的內(nèi)容是最少有5個字符a

數(shù)量詞:X{n,m}
含義:代表的是X出現(xiàn)至少 n 次榨汤,但是不超過 m 次
例如:匹配規(guī)則為"a{5,8}"蠕搜,那么需要匹配的內(nèi)容是有5個字符a 到 8個字符a之間

package com.itheima_07;

/*
 *  校驗QQ號碼
 *      要求必須是5-15位
 *      0不能開頭
 *      必須都是數(shù)字
 * 
 *  正則表達式:(與java語言無關(guān))就是一套規(guī)則,可以用于匹配字符串
 * 
 *   boolean matches(String regex) : 判斷當前字符串是否匹配指定的正則表達式收壕,如果匹配則返回true否則返回false
 * 
 *  
 */
public class RegexDemo {
    public static void main(String[] args) {
        String qq = "12345";
        /*boolean flag = checkQQ(qq);
        System.out.println(flag);*/
        
        boolean flag = qq.matches("[1-9][0-9]{4,14}");//正則表達式
        System.out.println(flag);
    }
    
    public static boolean checkQQ(String qq) {
        int length = qq.length();
        //要求必須是5-15位
        if(length < 5 || length > 15) {
            return false;
        }
        
        //0不能開頭
        if(qq.startsWith("0")) {
            return false;
        }
        
        //必須都是數(shù)字
        for(int i = 0; i < qq.length(); i++) {
            //得到參數(shù)的每個字符
            char c = qq.charAt(i);
            if(c < '0' || c > '9') {
                return false;
            }
        }
        
        return true;//符合要求
    }
}
```0
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妓灌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蜜宪,更是在濱河造成了極大的恐慌虫埂,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圃验,死亡現(xiàn)場離奇詭異掉伏,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門岖免,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人照捡,你說我怎么就攤上這事颅湘。” “怎么了栗精?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵闯参,是天一觀的道長。 經(jīng)常有香客問我悲立,道長鹿寨,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任薪夕,我火速辦了婚禮脚草,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘原献。我一直安慰自己馏慨,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布姑隅。 她就那樣靜靜地躺著写隶,像睡著了一般。 火紅的嫁衣襯著肌膚如雪讲仰。 梳的紋絲不亂的頭發(fā)上慕趴,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音鄙陡,去河邊找鬼冕房。 笑死,一個胖子當著我的面吹牛趁矾,可吹牛的內(nèi)容都是我干的毒费。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼愈魏,長吁一口氣:“原來是場噩夢啊……” “哼觅玻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起培漏,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤溪厘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后牌柄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畸悬,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年珊佣,在試婚紗的時候發(fā)現(xiàn)自己被綠了蹋宦。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片披粟。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖冷冗,靈堂內(nèi)的尸體忽然破棺而出守屉,到底是詐尸還是另有隱情,我是刑警寧澤蒿辙,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布拇泛,位于F島的核電站,受9級特大地震影響思灌,放射性物質(zhì)發(fā)生泄漏俺叭。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一泰偿、第九天 我趴在偏房一處隱蔽的房頂上張望熄守。 院中可真熱鬧,春花似錦耗跛、人聲如沸柠横。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽牍氛。三九已至,卻和暖如春烟阐,著一層夾襖步出監(jiān)牢的瞬間搬俊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工蜒茄, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留唉擂,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓檀葛,卻偏偏與公主長得像玩祟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子屿聋,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • Python中的正則表達式(re) import rere.match #從開始位置開始匹配空扎,如果開頭沒有則無re...
    BigJeffWang閱讀 7,075評論 0 99
  • 一转锈、正則表達式的概念 正則表達式(英語:Regular Expression,在代碼中常簡寫為regex)楚殿。正則表...
    圣賢與無賴閱讀 889評論 0 3
  • 初衷:看了很多視頻撮慨、文章,最后卻通通忘記了,別人的知識依舊是別人的砌溺,自己卻什么都沒獲得影涉。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,006評論 0 20
  • python的re模塊--細說正則表達式 可能是東半球最詳細最全面的re教程,翻譯自官方文檔,因為官方文檔寫的是真...
    立而人閱讀 22,873評論 4 46
  • 1.1正則表達式的概念 正則表達式(英語:Regular Expression,在代碼中常簡寫為regex)规伐。 正...
    CQ_TYL閱讀 240評論 0 0