程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> JAVA正則表達式4種常用功能

JAVA正則表達式4種常用功能

編輯:JAVA編程入門知識
正則表達式在字符串處理上有著強大的功能,sun在jdk1.4加入了對它的支持 
  
  下面簡單的說下它的4種常用功能:
  
  查詢:
  
  String str="abc efg ABC";
  
  String regEx="af";   //表示a或f 
  
  Pattern p=Pattern.compile(regEx);
  
  Matcher m=p.matcher(str);
  
  boolean rs=m.find();
  
  假如str中有regEx,那麼rs為true,否則為flase。假如想在查找時忽略大小寫,則可以寫成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);
  
  提取:
  String regEx=".+(.+)$";
  
  String str="c:dir1dir2 ame.txt";
  
  Pattern p=Pattern.compile(regEx);
  
  Matcher m=p.matcher(str);
  
  boolean rs=m.find();
  
  for(int i=1;i<=m.groupCount();i++){
  
  System.out.println(m.group(i));
  
  }
  
  以上的執行結果為name.txt,提取的字符串儲存在m.group(i)中,其中i最大值為m.groupCount();
  
  分割:
  
  String regEx="::";
  
  Pattern p=Pattern.compile(regEx);
  
  String[] r=p.split("xd::abc::cde");
  
  執行後,r就是{"xd","abc","cde"},其實分割時還有跟簡單的方法:
  
  String str="xd::abc::cde";
  
  String[] r=str.split("::");
  
  替換(刪除):
  
  String regEx="a+"; //表示一個或多個a
  
  Pattern p=Pattern.compile(regEx);
  
  Matcher m=p.matcher("aaabbced a ccdeaa");
  
  String s=m.replaceAll("A");
  
  結果為"Abbced A ccdeA"
  
  假如寫成空串,既可達到刪除的功能,比如:
  
  String s=m.replaceAll("");
  
  結果為"bbced  ccde"
  
  附:
  
  d 等於 [0-9] 數字 
  D 等於 [^0-9] 非數字 
  s 等於 [  x0Bf ] 空白字元 
  S 等於 [^  x0Bf ] 非空白字元 
  w 等於 [a-zA-Z_0-9] 數字或是英文字 
  W 等於 [^a-zA-Z_0-9] 非數字與英文字 
  
  ^ 表示每行的開頭
  $ 表示每行的結尾
  

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved