麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Regex > 正文

JAVA中正則表達(dá)式匹配,替換,查找,切割的方法

2020-03-16 21:05:01
字體:
供稿:網(wǎng)友

本文主要給大家介紹java正則表達(dá)式匹配,替換,查找,切割的方法,查找是用string類中的split(),字符串中的替換是replace(),感興趣的朋友一起來學(xué)習(xí)吧

正則表達(dá)式的查找;主要是用到String類中的split();

String str;

str.split();方法中傳入按照什么規(guī)則截取,返回一個String數(shù)組

常見的截取規(guī)則:

str.split("//.")按照.來截取

str.split(" ")按照空格截取

str.split("cc+")按照c字符來截取,2個c或以上

str.split((1)//.+)按照字符串中含有2個字符或以上的地方截取(1)表示分組為1

截取的例子;

按照分組截取;截取的位置在兩個或兩個以上的地方

 

 
  1. String str = "publicstaticccvoidddmain";  
  2. //對表達(dá)式進(jìn)分組重用  
  3. String ragex1="(.)//1+";  
  4. String[] ss = str.split(ragex1); 
  5. for(String st:ss){ 
  6. System.out.println(st);  
  7. //按照兩個cc+來截取 
  8. String ragex = " ";  
  9. //切割  
  10. String strs = "publicstaticccvoidddmain";  
  11. String ragexs = "cc+"
  12. String[] s = strs.split(ragexs); 
  13. for(String SSSS :s){ 
  14. System.out.println(SSSS); 
  15. System.out.println("=-========="); 

正則表達(dá)式中的替換;

語法定義規(guī)則;

 

 
  1. String s =str.replaceAll(ragex, newstr); 

字符串中的替換是replace();

將4個或4個以上的連續(xù)的數(shù)字替換成*

 

 
  1. // 替換 
  2. String str="wei232123jin234"
  3. String ragex = "//d{4,}"
  4. String newstr = "*"
  5. String s =str.replaceAll(ragex, newstr); 
  6. System.out.println(s); 

將重復(fù)的字符串換成一個*

 

 
  1. String str ="wwweiei222222jjjiiinnn1232"
  2. String ragex ="(.)//1+"
  3. String newStr ="*"
  4. String s = str.replaceAll(ragex, newStr); 
  5. System.out.println(s); 

將 我...我...要..要.吃...吃...飯 換成 我要吃飯

 

 
  1. String str = "我...我...要..要.吃...吃...飯"
  2. String regex = "//.+"
  3. String newStr = ""
  4. str=test(str, regex, newStr); 
  5. regex = "(.)//1+"
  6. newStr = "$1"
  7. test(str, regex, newStr); 
  8. public static String test(String str, String regex, String newStr) { 
  9. String str2 = str.replaceAll(regex, newStr); 
  10. System.out.println(str2); 
  11. return str2; 

正則表達(dá)式的字符串的獲取

1,根據(jù)定義的正則表達(dá)式創(chuàng)建Pattern對象

2,使用Pattern對象類匹配

3,判斷是否為true

4,加入到組

例子;

 

 
  1. String str = "public static void main(String[] args)" 
  2. " public static void main(String[] args)public static void main(String[] args)"
  3. String ragex = "//b[a-zA-Z]{4,5}//b"
  4. Pattern p =Pattern.compile(ragex); 
  5. Matcher m = p.matcher(str); 
  6. while(m.find()){ 
  7. String s = m.group(); 
  8. System.out.println(s); 

作業(yè):

1,獲取

user中的user

 

 
  1. String str ="<html>user</html>"
  2. String regex = "<html>|</html>";  
  3. String newStr = "";  
  4. String str2 = str.replaceAll(regex, newStr); 
  5. System.out.println(str2); 

2,獲取[email protected]@163.comwokaz中的郵箱號碼

 

 
  1. String regex = " ";  
  2. String[] strs=str.split(regex); 
  3. for(String str2:strs){ 
  4. String ragexDemo = "[a-zA-Z0-9]([a-zA-Z0-9]*[-_]?[a-zA-Z0-9]+)*" 
  5. "@([a-zA-Z0-9]+)//.[a-zA-Z]+//.?[a-zA-Z]{0,2}"
  6. Pattern p = Pattern.compile(ragexDemo); 
  7. Matcher m = p.matcher(str2); 
  8. while(m.find()){ 
  9. System.out.println(m.group()); 

示例代碼:

 

 
  1. import java.util.ArrayList; 
  2. import java.util.regex.Matcher; 
  3. import java.util.regex.Pattern; 
  4.  
  5. public class test { 
  6. public static void main(String[] args) { 
  7. getStrings(); //用正則表達(dá)式獲取指定字符串內(nèi)容中的指定內(nèi)容 
  8. System.out.println("********************"); 
  9. replace(); //用正則表達(dá)式替換字符串內(nèi)容 
  10. System.out.println("********************"); 
  11. strSplit(); //使用正則表達(dá)式切割字符串 
  12. System.out.println("********************"); 
  13. strMatch(); //字符串匹配 
  14.  
  15. private static void strMatch() { 
  16. String phone = "13539770000"
  17. //檢查phone是否是合格的手機(jī)號(標(biāo)準(zhǔn):1開頭,第二位為3,5,8,后9位為任意數(shù)字) 
  18. System.out.println(phone + ":" + phone.matches("1[358][0-9]{9,9}")); //true  
  19.  
  20. String str = "abcd12345efghijklmn"
  21. //檢查str中間是否包含12345 
  22. System.out.println(str + ":" + str.matches("//w+12345//w+")); //true 
  23. System.out.println(str + ":" + str.matches("//w+123456//w+")); //false 
  24.  
  25. private static void strSplit() { 
  26. String str = "asfasf.sdfsaf.sdfsdfas.asdfasfdasfd.wrqwrwqer.asfsafasf.safgfdgdsg"
  27. String[] strs = str.split("//."); 
  28. for (String s : strs){ 
  29. System.out.println(s); 
  30. }  
  31.  
  32. private static void getStrings() { 
  33. String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfdasdaa654645aafrrwerqq84461378qqasfdaa654646aaasdfrrwerqq84461379qqasfdasdfrrwerqq84461376qqasfdasdf"
  34. Pattern p = Pattern.compile("qq(.*?)qq"); 
  35. Matcher m = p.matcher(str); 
  36. ArrayList<String> strs = new ArrayList<String>(); 
  37. while (m.find()) { 
  38. strs.add(m.group(1));  
  39. }  
  40. for (String s : strs){ 
  41. System.out.println(s); 
  42. }  
  43.  
  44. private static void replace() { 
  45. String str = "asfas5fsaf5s4fs6af.sdaf.asf.wqre.qwr.fdsf.asf.asf.asf"
  46. //將字符串中的.替換成_,因為.是特殊字符,所以要用/.表達(dá),又因為/是特殊字符,所以要用//.來表達(dá). 
  47. str = str.replaceAll("//.""_"); 
  48. System.out.println(str);  

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 99国内精品视频 | 九九看片| 成人在线高清视频 | 国产九九热 | 久久精品在线免费观看 | 久在线播放 | 视频一区免费观看 | 狠狠操操 | 欧美黄一区 | 亚洲成人福利网站 | 香蕉久草视频 | 最新黄色电影网站 | 亚洲男人的天堂在线视频 | 黄色av网站在线观看 | 毛片免费在线观看 | 成年人毛片视频 | 久久精品99久久久久久2456 | 午夜小网站 | 国产成年人小视频 | 成人午夜精品久久久久久久蜜臀 | 国产精品剧情一区二区在线观看 | 伦理三区 | 日韩黄色一级视频 | 国产一级二级视频 | 一级做a爰片性色毛片2021 | 亚洲免费网站 | 久久亚洲精品久久国产一区二区 | caoporn国产一区二区 | 激情国产视频 | 国产精品久久久久网站 | 国产精品视频一区二区三区四 | 一级免费黄视频 | 亚洲网站在线 | 午色影院| 在线播放污 | 免费国产自久久久久三四区久久 | 欧美女优一区 | 宅男噜噜噜66国产免费观看 | 国产精品国产成人国产三级 | 看片一区| 精品一区二区免费视频视频 |