Re: [問題] 使用正則表示式?

看板java作者 (當好人=當傻子 ???何必. )時間13年前 (2011/06/07 20:35), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
if內的正規表示式 解析起來應該是這樣的意思: <a(一個以上的任意字元)hre(0次或1次以上個f)(0次或1次以上的=)['或"出現0次或1次 ](0次以上個任意字元)['或"出現0次或1次](0次或1次任意字元)> 所以輸入字串 EX: "<adhre>" 這樣應該也會對... 範例程式: 給你檢查RE用 ps: 有寫注解了..再看不懂我也無法了 link: http://www.javaworld.com.tw/jute/post/view?bid=20&id=130126&sty=1&tpg=1&age=0 Reference by javaworld (別人整理好的 中文解釋) 你...下次先google好嗎...ps: 我也是新手 剛好最近看完RE 所以回答你問題 = =" import java.util.regex.Matcher; import java.util.regex.Pattern; public class TestObject2 { public static void main(String[] args) { //你要檢查的字串 String inputStr = "<adhre>"; //你的Re 規則 String patternStr = "<a.+href*=*['\"]?.*?['\"]?.*?>"; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(inputStr); boolean matchFound = matcher.find(); //比對成功 while成真 //印出找到string 的index 開頭與結尾 //順道將group 印出來 while(matchFound) { System.out.println(matcher.start() + "-" + matcher.end()); for(int i = 0; i <= matcher.groupCount(); i++) { String groupStr = matcher.group(i); System.out.println(i + ":" + groupStr); } if(matcher.end() + 1 <= inputStr.length()) { matchFound = matcher.find(matcher.end()); } else { break; } } } } ※ 引述《spiderman007 (千里之外)》之銘言: 要判斷href的格式是否正確?? // 驗證href標籤 if(str.matches("<a.+href*=*['\"]?.*?['\"]?.*?>")) System.out.println("格式正確"); else System.out.println("格式錯誤"); 一個正確的格式: <a href="" rel="nofollow">http://caterpillar.onlyfun.net"> 請問*的意義是?? .的意義是?? ?的意義是??? 謝謝指教... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.26.133.179

06/06 17:06,
你這個範例所在的那個網頁就有說明...= =
06/06 17:06

06/06 17:44,
因為他判斷<a href>的方式有問題 所以造成你的誤解吧
06/06 17:44

06/06 17:45,
<adddd hreffff====="sd"> 你輸入這個 他也會判斷成正確
06/06 17:45
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.66.243.96 ※ 編輯: Gway 來自: 61.66.243.96 (06/07 20:37)

06/08 12:30, , 1F
謝謝各位指教...
06/08 12:30, 1F
文章代碼(AID): #1DxXiktO (java)
文章代碼(AID): #1DxXiktO (java)