正则表达式引例
? 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个或
多个字母或数字。