正则表达式引例
- String的对象方法查找满足子串要求的单词
- 查找同时匹配两个子串要求的单词
- 用正则表达式查找满足两个匹配条件的单词
String的对象方法查找匹配子串要求的单词
- 我们现在有一个任务:要在若干个单词中查找含有字母i的所有单词。可以用String类中的indexOf()方法:
publicclassTestSearch { publicstaticvoidmain(String[] args){ String[] words= {"your", "Eglish", "university"}; for (Stringword : words){ if ( word.indexOf("i") <0) System.out.println("F"); elseSystem.out.println("T"); } } }
- 我们的对象单词是:{“your”, “Eglish”, “university”}
- String类的indexOf() 方法寻找子串在母串中的位置,没找到则返回-1
- 上面程序运行的三行结果分别是F, T, T。
- 如果我们还想知道哪些单词中含有字母u,则可以用类似的方法,得到T, F, T三行结果
用正则表达式查找满足两个匹配条件的单词
importjava.util.regex.*; publicclassTestRegEx { publicstaticvoidmain(String[] args){ String[] words= {"your", "Eglish", "university"}; StringpatternString="\\w*u\\w*i\\w*"; for (Stringword : words){ booleanflag=Pattern.matches(patternString, word); System.out.println(flag); } } } //程序的运行结果打印出3行,分别是false, false和true
- 上面的程序片段中, “\w*”表示一个或多个字母或数字。
- “\wu\wi\w*”的意思是:含有字母u和i,在字母u之前、字母u和i之间、字母i之后可以有0个或多个字母或数字。