作者smithkimo (Smith K)
看板java
标题[问题] 如何弹性不修改程式码, 却能比对模式
时间Sat Nov 30 17:18:19 2013
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
1F:推 LaPass:出门,晚点回 11/30 17:21
2F:→ smithkimo:谢谢楼上的好心人士 11/30 17:22
3F:推 dream1124:学好正规表示式 Regular Expression 11/30 18:10
※ 编辑: smithkimo 来自: 220.134.15.92 (11/30 18:44)
4F:→ smithkimo:规则里面放的就是regex 11/30 18:44
5F:推 hate9527:设计模式看一下吧 11/30 19:28
6F:推 LPH66:那就写个文字档 开档读入再用个 for 跑一遍 11/30 19:29
7F:推 plover:OpenRules,如果规则有上百条以上的话,超好用 11/30 22:24
8F:→ swpoker:想到我之前写到一半的判别邮递区号3+2码的规则阿 12/03 13:34
9F:推 PsMonkey:刚刚才写完一个 Google Apps 的邮递区号判别规则 XD 12/03 13:51