背景:有诸多种短信,需要把有用的信息用正则给匹配出来,然后存储 甲方需求:鉴于短信格式多变,由甲方自己写正则去匹配(甲方不提供接口服务,必须在我们源代码中写) 问:如何在不暴露源码的情况下 把甲方写的正则方法导进去
1
jswxg 2019-11-13 09:48:45 +08:00
可以做个后台让甲方在里面维护正则,代码里读取正则并执行匹配。
|
2
ghostheaven 2019-11-13 09:48:59 +08:00 via Android
配置文件或者环境变量?
|
3
x2016 2019-11-13 09:50:19 +08:00
做个维护界面, 读取正则执行匹配
|
5
abeholder 2019-11-13 09:55:10 +08:00
已经算良心甲方了好么,还给提供正则的。 。。
|
6
xiaoyang7545 2019-11-13 09:58:59 +08:00
这个需求很正常啊。要么存储的库里面,要么就在用代码生成 config 的文件来读取解析。给一个编辑正则的页面就好了。
(必须在我们源代码中写)这个要求应该是你有什么误解? |
9
b821025551b 2019-11-13 10:02:32 +08:00
良心家方啊,这需求不是很正常的么
|
10
a5401017 OP @xiaoyang7545 可能是吧。多种的话 怎么去正确匹配短信?
|
11
a5401017 OP @b821025551b 之前做的时候 说短信格式 不会变 就给写死了 。现在又说经常变
|
12
Tink 2019-11-13 10:05:58 +08:00
我觉得没问题啊,这不是很正常的需求吗?
而且懂正则的甲方真的有吗? |
13
phantomzz 2019-11-13 10:07:16 +08:00
这个需求并不奇葩。正则可以存 DB 可以存缓存,量不大甚至可以放内存,至于如何匹配,就是业务上的事情,既然不同正则对应不同的短信格式,可以用职责链去做。
|
14
Uyuhz 2019-11-13 10:14:11 +08:00
@Tink 懂正则的没见过,但是会写 sql 的领导你见过没。
以前给某 zf 做外包的时候,有一个需求,就是管理台里用户自己能改 sql,我当时就问我们组长客户有这个能力改 sql 吗....组长:领导还真会..... |
15
huage2580 2019-11-13 10:21:39 +08:00
这个= =
我觉得正常需求? 提供思路的话,策略模式走起,抽象策略至少两方法,一个能不能处理这条短信,一个处理的结果。比如短信发送方号码匹配,关键字匹配等等。然后责任链串起来。再来一个正则的 baseImp,比如从 db 获取正则还是 json 读取等等,自由发挥。 |
16
nnnToTnnn 2019-11-13 10:47:15 +08:00
正常啊,提供一个维护界面即可
|
17
xiaoyang7545 2019-11-13 10:47:19 +08:00
@a5401017 那就必须甲方提供需求,如何分辨短信 A 适用于 A 正则,如何分辨短信 B 使用 B 正则。
举个简单的例子,就是 比如甲方说 号码来源为 XXX1 起始的用 A 正则, 为 XXX2 起始的使用 B 正则,默认正则为 C。 |
18
a5401017 OP @xiaoyang7545 这个 也不是确定的
|
19
saltedFish666 2019-11-13 13:21:31 +08:00
要不界面配置,要不给配置文件,读取文件内容
|
20
Kiriya 2019-11-13 15:09:50 +08:00
和信息有关的业务要注意法律风险
|