正規表達式引例
- 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個或多個字母或數字。