正则表达式在java程序中的应用分析Java认证考试
文章作者 100test 发表时间 2010:01:01 15:48:30
来源 100Test.Com百考试题网
正则表达式的规则中, \ 作为一个转义字符出现.由于在正则表达中,许多字符已经被作为正则表达式的关键字而被赋予了特殊的含义从而失去了它们本身的含义.例如 * 在正则表达式中表示匹配 * 前面的子表达式零次或多次,假如想匹配一个正常的 * 字符,就要使用 \* 来表示.而在Java源代码的字符串中, \ 首先被被Java字节码编译器解释java语言中定义的Unicode转义或其他字符转义,所以想在java源代码中表示正则表达式中一个正常的 * 字符,需要加两个 \ ,即 \\* ,表示把第二个 \ 转成java源代码中一个正常的字符,而这个正常的字符则在这段java源码中的正则表达式中表示正则表达式中的转义字符.如果要表示java源码中的正则表达式的一个正常的 \ 字符,则需要这样表示 \\\\ ,其中第一第三个 \ 均表示java编译器中的转义字符第二个则表示正则表达式中的转义字符,从而把第四个 \ 转义为正则表达式中一个普通的 \ 字符. 1,匹配判断与查找在java中,匹配判断操作常用的类有两个:java.util.regex.Pattern,java.util.regex.Matcher. Pattern是字符串形式的正则表达式的编译类,指定为字符串的正则表达式必须首先被编译为它的实例. Matcher被定义为"通过解释 Pattern 对 字符序列执行匹配操作的引擎".通俗一些说,一个字符形式的正则表达式编译成为一个Pattern的实例,相当于扫雷中的一个扫雷器,而Pattern的实例的 matcher方法(参数相当于某一个地点)则相当于拿这个扫雷器的人,当执行Matcher的实例方法matches()后,此方法返回一个表示是否匹配的boolean值,而这个操作就相当于这个人把这个扫雷器放到这个地点后,这个人看到扫雷器上面的指示,就会得出这个地方是否有雷的信息.假如我们想判断一个文件名中是否包含.class这个后缀名,由于.class后缀名有时候会有大小写的不同形式,那么可以使用以下方式判断:
1