什么是模式? 在正则表达式的上下文中,模式是字符序列的文本表示法。例如,假如您想知道一个字符序列中是否存在 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 }