• <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
      <ol id="mz5ne"></ol>
    1. <samp id="mz5ne"></samp>
      <mark id="mz5ne"></mark>

        <fieldset id="mz5ne"></fieldset>

        免费看又黄又无码的网站_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片_日本最新免费二区三区

        ×

        java 正則表達(dá)式規(guī)則是怎樣的?Java中如何寫(xiě)正則表達(dá)式?

        分類:建站推廣 編輯:it知事 瀏覽量:103
        2021-04-21 11:16:14

          正則表達(dá)式,也叫做規(guī)則表達(dá)式,它是一個(gè)計(jì)算機(jī)領(lǐng)域的一個(gè)概念,它的作用就是檢索和替換符合某個(gè)規(guī)則的文本,有很多的語(yǔ)言都是支持正則表達(dá)式的,使用正則表達(dá)式來(lái)編寫(xiě)代碼是非常的簡(jiǎn)潔的,一般只需要兩行到三行的代碼就可以了,很多朋友想了解一下java 正則表達(dá)式的相關(guān)情況,下面新網(wǎng)就來(lái)具體的說(shuō)明一下java 正則表達(dá)式規(guī)則是怎樣的?Java中如何寫(xiě)正則表達(dá)式等問(wèn)題。


          java 正則表達(dá)式的規(guī)則
          1. 任意一個(gè)字符表示匹配任意對(duì)應(yīng)的字符,如a匹配a,7匹配7,-匹配-。
          2. []代表匹配中括號(hào)中其中任一個(gè)字符,如[abc]匹配a或b或c。
          3. -在中括號(hào)里面和外面代表含義不同,如在外時(shí),就匹配-,如果在中括號(hào)內(nèi)[a-b]表示匹配26個(gè)小寫(xiě)字母中的任一個(gè);[a-zA-Z]匹配大小寫(xiě)共52個(gè)字母中任一個(gè);[0-9]匹配十個(gè)數(shù)字中任一個(gè)。
          4. ^在中括號(hào)里面和外面含義不同,如在外時(shí),就表示開(kāi)頭,如^7[0-9]表示匹配開(kāi)頭是7的,且第二位是任一數(shù)字的字符串;如果在中括號(hào)里面,表示除了這個(gè)字符之外的任意字符(包括數(shù)字,特殊字符),如[^abc]表示匹配出去abc之外的其他任一字符。
          5. .表示匹配任意的字符。
          6. \d表示數(shù)字。
          7. \D表示非數(shù)字。
          8.\s表示由空字符組成,[ \t\n\r\x\f]。
          9.\S表示由非空字符組成,[^\s]。
          10.\w表示字母、數(shù)字、下劃線,[a-zA-Z0-9_]。
          11.\W表示不是由字母、數(shù)字、下劃線組成。
          12.?: 表示出現(xiàn)0次或1次。
          13.+表示出現(xiàn)1次或多次。
          14.*表示出現(xiàn)0次、1次或多次。
          15.{n}表示出現(xiàn)n次。
          16.{n,m}表示出現(xiàn)n~m次。
          17.{n,}表示出現(xiàn)n次或n次以上。
          18.XY表示X后面跟著Y,這里X和Y分別是正則表達(dá)式的一部分。
          19.X|Y表示X或Y,比如"food|f"匹配的是foo(d或f),而"(food)|f"匹配的是food或f。

          20.(X)子表達(dá)式,將X看做是一個(gè)整體。


          Java中如何寫(xiě)正則表達(dá)式
          在java中調(diào)用正則表達(dá)式的類是java.util.regex.Matcher和java.util.regex.Pattern,java.util.regex包是從jdk1.4開(kāi)始提供的。有多種寫(xiě)法來(lái)使用正則表達(dá)式。
          1. 僅僅是匹配
          1). 實(shí)現(xiàn)方式1,匹配一個(gè)數(shù)字。
          public void regex1() {
          //要匹配的字符
          String str = "8";
          //正則表達(dá)式
          String regex = "[0-9]";
          //返回匹配的結(jié)果,匹配成功就返回true,失敗就返回false,此次匹配返回true。
          boolean flag = Pattern.matches(regex, str);
          System.out.println(flag);
          }
          2). 實(shí)現(xiàn)方式2, 匹配3個(gè)到5個(gè)字母,大小寫(xiě)不限,包括3和5個(gè)。
          public void regex2() {
          //要匹配的字符
          String str = "hello";
          //正則表達(dá)式
          String regex = "[a-zA-Z]{3,5}";
          //輸出匹配的結(jié)果, 此次匹配返回true。
          System.out.println(str.matches(regex));
          }
          3). 實(shí)現(xiàn)方式3(此種實(shí)現(xiàn)方式最快), 匹配11位的電話號(hào)碼,匹配規(guī)則:第一個(gè)數(shù)字是1,第二個(gè)數(shù)字是2,3,7,8中任一個(gè),后面9位數(shù)字中不包含4。
          public void regex3() {
          //要匹配的字符
          String str = "13656231253";
          //正則表達(dá)式
          String regex = "1[2378][0-35-9]{9}";
          //將給定的正則表達(dá)式編譯為模式。 如果匹配需求較多,且需用同相同的regex去匹配,就可將這句寫(xiě)到靜態(tài)模塊里面,用的時(shí)候直接使用實(shí)例p
          Pattern p = Pattern.compile(regex);
          //創(chuàng)建一個(gè)匹配器,匹配給定的輸入與此模式。
          Matcher m = p.matcher(str);
          //嘗試將整個(gè)區(qū)域與模式進(jìn)行匹配。
          boolean flag = m.matches();
          //輸出匹配結(jié)果,此次結(jié)果為true
          System.out.println(flag);
          }
          2. 替換。
          public void regexReplace () {
          //要匹配的字符
          String str = "12a6B985Ccv65";
          //正則表達(dá)式
          String regex = "[a-zA-Z]+";
          //正則表達(dá)式
          String regex2 = "\\d+";
          //將字符串中英文字母替換為&符號(hào),輸出12&6&985&65
         
          System.out.println(str.replaceAll(regex, "&"));
          //將字符串中單個(gè)數(shù)字或者連續(xù)的數(shù)字替換為0,輸出0a0B0Ccv0
          System.out.println(str.replaceAll(regex2,"0"));
          }
          3. 切割,根據(jù)大寫(xiě)字母切割字符串。
          public void outputStr() {
          String str = "oneTtowTthreeDfourJfive";
          String regex = "[A-Z]";
          String[] arr = str.split(regex);
          for (String s: arr) {
          System.out.print(s + " ");
          }
          }
          輸出:one tow three four five。
          java 正則表達(dá)式的特點(diǎn)
          1. 靈活性、邏輯性和功能性非常強(qiáng);
          2. 可以迅速地用極簡(jiǎn)單的方式達(dá)到字符串的復(fù)雜控制。
          3. 對(duì)于剛接觸的人來(lái)說(shuō),比較晦澀難懂。

          由于正則表達(dá)式主要應(yīng)用對(duì)象是文本,因此它在各種文本編輯器場(chǎng)合都有應(yīng)用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達(dá)式來(lái)處理文本內(nèi)容。


          java 正則表達(dá)式規(guī)則是怎樣的?以上就給大家介紹了java 正則表達(dá)式規(guī)則的問(wèn)題,java 正則表達(dá)式的規(guī)則有很多,大家在編寫(xiě)java 正則表達(dá)式的時(shí)候,就一定要遵守這些規(guī)則,java 正則表達(dá)式具有邏輯性強(qiáng)和靈活性高等的特點(diǎn),對(duì)于剛開(kāi)始寫(xiě)java 正則表達(dá)式的朋友來(lái)說(shuō),可能有些困難,但是千萬(wàn)不要放棄,如有疑問(wèn),可以咨詢新網(wǎng)。
        <div>

        聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)

        送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)

        需注明出處:新網(wǎng)idc知識(shí)百科

        免費(fèi)咨詢獲取折扣

        Loading
        国产精品视频白浆免费视频_久久久高清国产免费观看_亚洲一区二区三区在线免费观看_免费欧洲美女a视频一级毛片
      1. <samp id="mz5ne"><acronym id="mz5ne"></acronym></samp>
          <ol id="mz5ne"></ol>
        1. <samp id="mz5ne"></samp>
          <mark id="mz5ne"></mark>

            <fieldset id="mz5ne"></fieldset>
            滨海县| 双牌县| 呼和浩特市| 县级市| 华安县| 常宁市| 仪陇县| 高雄市| 博客| 呼玛县| 雅江县| 苏尼特右旗| 忻州市| 临汾市| 锦屏县| 增城市| 万年县| 大同县| 英山县| 蚌埠市| 比如县| 金华市| 惠东县| 恩施市| 株洲市| 无为县| 江津市| 禹城市| 东至县| 石河子市| 仙桃市| 城市| 屏东县| 普安县| 洛川县| 花莲县| 邻水| 金湖县| 瑞丽市| 庆城县| 无极县|