一个正则表达式的问题,求助
package regex;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regex
{
//测试字符串是否满足正则表达式
static boolean test(String str, String reg)
{
Pattern p=null;
Matcher m=null;
boolean result=false;
p=Pattern.compile(reg);
m=p.matcher(str);
result=m.matches();
return result;
}
public static void main(String args[])
{
BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
try {
System.out.print("请输入字符串:"); //输入15812341234
String strc=buffer.readLine();
System.out.print("请输入正则表达式:"); //[1][35]\\d{9}
String regex=buffer.readLine();
String strc2="15812341234";
String regex2="[1][35]\\d{9}";
System.out.println(test(strc,regex)); //(1)输出false,为什么????? System.out.println(test(strc2, regex2)); //(2)输出true
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
程序运行后,我在分别在控制台输入15812341234和[1][35]\\d{9},为什么(1)和(2)出的结果却截然不同?
个人感觉应该都是ture啊,这是为毛啊,为毛啊!!