天天看點

正規表達式引例

正規表達式引例

  • String的對象方法查找滿足子串要求的單詞
  • 查找同時比對兩個子串要求的單詞
  • 用正規表達式查找滿足兩個比對條件的單詞

String的對象方法查找比對子串要求的單詞

  • 我們現在有一個任務:要在若幹個單詞中查找含有字母i的所有單詞。可以用String類中的indexOf()方法:
public class TestSearch {
 public static void main(String[] args){
 String[] words = {"your", "Eglish", "university"};
 for (String word : words){
 if ( word.indexOf("i") < 0)
 System.out.println("F");
 else
 System.out.println("T");
 }
 }
}      
  • 我們的對象單詞是:{“your”, “Eglish”, “university”}
  • String類的indexOf() 方法尋找子串在母串中的位置,沒找到則傳回-1
  • 上面程式運作的三行結果分别是F, T, T。
  • 如果我們還想知道哪些單詞中含有字母u,則可以用類似的方法,得到T, F, T三行結果

import java.util.regex.*;
public class TestRegEx {
 public static void main(String[] args){
 String[] words = {"your", "Eglish", "university"};
 String patternString = "\\w*u\\w*i\\w*";
 for (String word : words){
 boolean flag = Pattern.matches(patternString, word);
 System.out.println(flag);
 }
 }
} //程式的運作結果列印出3行,分别是false, false和true      
  • 上面的程式片段中, “\w*”表示一個或多個字母或數字。
  • “\wu\wi\w*”的意思是:含有字母u和i,在字母u之前、字母u和i之間、字母i之後可以有0個或多個字母或數字。