java 正则表达式问题

System.out.println("http://weng32002.blogspot.jp/search?updated"
.matches("http://weng32002.blogspot.jp/search?updated"));

为什么输出结果为false

正则表达式中问号 ? 有特殊含义:表示一次或一次也没有。

所以表达式“search?”匹配的就是两种:
1、search (h有一次)
2、searc (h一次也没有)

正则表达式中若有 ? ,应该进行转义,写成:\?

应该改成:
[code="java"]System.out.println("http://weng32002.blogspot.jp/search?updated".matches("http://weng32002.blogspot.jp/search\\?updated"));[/code]

.也是特殊符号,他匹配任意字符
[code="java"]System.out.println("http://weng32002.blogspot.jp/search?updated".matches("http://weng32002\\.blogspot\\.jp/search\\?updated"));[/code]