[問題] 如何彈性不修改程式碼, 卻能比對模式

看板java作者 (Smith K)時間11年前 (2013/11/30 17:18), 編輯推噓6(603)
留言9則, 8人參與, 最新討論串1/3 (看更多)
Dear all, 小弟有一個很特別的問題, 就是手邊有一些會隨時會增加的規則, 例如, String test = "abc"; Rule 1: if(regex1.match()) then ... Rule 2: if(regex2.match()) then ... 這些規則會隨時增加, 但是比對的邏輯是透過if...else if...else if... 如果一增加rules, 就必須要修改判斷的主程式, 新增新的else if的判斷, 不知道有辦法, 不更動判斷的程式, 但卻可以任意增加rules呢 想設計一個較彈性的判斷程式, 謝謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.15.92

11/30 17:21, , 1F
出門,晚點回
11/30 17:21, 1F

11/30 17:22, , 2F
謝謝樓上的好心人士
11/30 17:22, 2F

11/30 18:10, , 3F
學好正規表示式 Regular Expression
11/30 18:10, 3F
※ 編輯: smithkimo 來自: 220.134.15.92 (11/30 18:44)

11/30 18:44, , 4F
規則裡面放的就是regex
11/30 18:44, 4F

11/30 19:28, , 5F
設計模式看一下吧
11/30 19:28, 5F

11/30 19:29, , 6F
那就寫個文字檔 開檔讀入再用個 for 跑一遍
11/30 19:29, 6F

11/30 22:24, , 7F
OpenRules,如果規則有上百條以上的話,超好用
11/30 22:24, 7F

12/03 13:34, , 8F
想到我之前寫到一半的判別郵遞區號3+2碼的規則阿
12/03 13:34, 8F

12/03 13:51, , 9F
剛剛才寫完一個 Google Apps 的郵遞區號判別規則 XD
12/03 13:51, 9F
文章代碼(AID): #1IcQrTqU (java)
文章代碼(AID): #1IcQrTqU (java)