请教一个正则表达式的问题, 如下代码所示, 我是用的java使用正则表达式; public static void test(){ Pattern p=Pattern.compile("(?=.*?[#?!@$%^&*-])"); Matcher m=p.matcher("我的QQ是:456456 我的电话是:0532214 我的邮箱是:aaa123@aaa.com"); while(m.find()) { System.out.println(m.group()); } System.out.print("我已经执行过了"); }问题1: 上面的代码为什么不能匹配@,没打印出@我的尝试: 改为 Pattern p=Pattern.compile("[#?!@$%^&*-])");,就可以正常匹配了.问题2: 请问?=.*?的含义是什么, 我理解的含义是"任何字符开头的"问题3: 请问这个正则表达式 能包含所有特殊字符吗, 我现在的需求是检查中字符中的特殊字符
添加回答
举报
0/150
提交
取消