什么是模式? 在正則表達式的上下文中,模式是字符序列的文本表示法。例如,假如您想知道一個字符序列中是否存在 car 這個詞,您會使用模式 car,因為這是精確地表示該字符串的方法。對于更復雜的模式,您可以使用非凡字符作為占位符。假如您不是要搜索 car,而是想搜索以字母 c 開頭并以字母 r 結尾的任何文本字符串,您會使用 c*r 模式,其中 * 代表第一個 r 前的任意多個字符。c*r 模式將匹配任何以 c 開頭并以 r 結尾的字符串,如 cougar、cavalier 或 chrysler。
字符類(Character class):一個字符類就是方括號內的一個字符集,其中,匹配可以是括號內的任意一個字符。您可以把字符類與量詞結合在一起,例如,[acegikmoqsuwy]* 將是只包含字母表中奇數字母的任意字符序列。某些字符類是預先定義的: d ? 數字(0 到 9) D -- 非數字 s -- 空白字符,如制表符或換行符 S -- 非空白字符 w -- 單字字符(a 到 z、A 到 Z、0 到 9 以及下劃線) W -- 非單字字符(其它任意字符)
if (matcher.find()) { // Found some string within input sequence // That matched the compiled pattern String match = matcher.group(); // PRocess matching pattern }