請教一個(gè)正則表達(dá)式的問題, 如下代碼所示, 我是用的java使用正則表達(dá)式; 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("我已經(jīng)執(zhí)行過了"); }問題1: 上面的代碼為什么不能匹配@,沒打印出@我的嘗試: 改為 Pattern p=Pattern.compile("[#?!@$%^&*-])");,就可以正常匹配了.問題2: 請問?=.*?的含義是什么, 我理解的含義是"任何字符開頭的"問題3: 請問這個(gè)正則表達(dá)式 能包含所有特殊字符嗎, 我現(xiàn)在的需求是檢查中字符中的特殊字符
正則表達(dá)式中 ?=.*? 的疑惑
桃花長相依
2019-03-21 18:15:10