成人精品综合免费视频,影音先锋无码aⅴ男人资源站,伊人伊成久久人综合网996,亚洲成a人片在线观看高清,亚洲性色ai无码,精品视频国产香蕉尹人视频,人人妻人人澡人人爽秒播,无码一区二区三区久久精品
×

java 正則表達式規則是怎樣的?Java中如何寫正則表達式?

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

  正則表達式,也叫做規則表達式,它是一個計算機領域的一個概念,它的作用就是檢索和替換符合某個規則的文本,有很多的語言都是支持正則表達式的,使用正則表達式來編寫代碼是非常的簡潔的,一般只需要兩行到三行的代碼就可以了,很多朋友想了解一下java 正則表達式的相關情況,下面新網就來具體的說明一下java 正則表達式規則是怎樣的?Java中如何寫正則表達式等問題。


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

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


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

  由于正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。


  java 正則表達式規則是怎樣的?以上就給大家介紹了java 正則表達式規則的問題,java 正則表達式的規則有很多,大家在編寫java 正則表達式的時候,就一定要遵守這些規則,java 正則表達式具有邏輯性強和靈活性高等的特點,對于剛開始寫java 正則表達式的朋友來說,可能有些困難,但是千萬不要放棄,如有疑問,可以咨詢新網。
<div>

聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發

送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時

需注明出處:新網idc知識百科

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 国产精品任我爽爆在线播放| 国产色诱视频在线观看| 少妇脱了内裤让我添| 人妻无码αv中文字幕久久琪琪布 久久精品黄aa片一区二区三区 | 国产成人综合久久亚洲精品| 欧美日韩成人| 男人靠女人的免费视频| 久久精品久久久久观看99水蜜桃| 精品久久国产综合婷婷五月| 国产精品久久福利网站| 黑人强辱丰满的人妻熟女| 72种姿势欧美久久久久大黄蕉 | 天天弄天天模| 国产露脸150部国语对白| 中文字幕人妻伦伦| 欧洲乱码伦视频免费| 冲田杏梨av一区二区三区| 大又大又粗又硬又爽少妇毛片 | 国产男女猛烈无遮挡免费视频网站 | 中文字幕乱码中文乱码777| 色婷婷狠狠干| 中文字幕一区二区人妻出轨| 国产精品毛片久久久久久l| 国产一级在线现免费观看| 免费高清日本中文| 久久综合色播五月男人的天堂| 午夜国产理论| 男女后进式猛烈xx00动态图片| 人妻无码Aⅴ中文系列| 国产综合精品久久亚洲| 中文字幕伦视频| 亚洲av人片在线观看调教| 日韩av无码一区二区三区不卡| 亚洲a∨无码男人的天堂| 一区二区三区国产亚洲网站| 无码人妻久久一区二区三区免费丨| 亚洲婷婷丁香激情| 国产一级做美女做受视频| 国产内射视频在线播放| 色综合久久久久久久久五月| 级毛片内射视频|