• 请不要在回答技术问题时复制粘贴 AI 生成的内容
a5401017
V2EX  ›  程序员

求助,甲方的奇葩需求(不暴露源码的情况下 把甲方写的正则方法导进去)

  •  
  •   a5401017 · Nov 13, 2019 · 4269 views
  •   You need to sign in to view this topic
    This topic created in 2556 days ago, the information mentioned may be changed or developed.

    背景:有诸多种短信,需要把有用的信息用正则给匹配出来,然后存储 甲方需求:鉴于短信格式多变,由甲方自己写正则去匹配(甲方不提供接口服务,必须在我们源代码中写) 问:如何在不暴露源码的情况下 把甲方写的正则方法导进去

    Supplement 1  ·  Nov 13, 2019
    可能小白 没遇到过那些更奇葩的需求
    谢谢各位大大提供的思路
    Supplement 2  ·  Nov 13, 2019
    结帖,跟客户多次沟通 提供接口解决
    jswxg
    jswxg
    Nov 13, 2019
    1
    可以做个后台让甲方在里面维护正则,代码里读取正则并执行匹配。
    ghostheaven
    ghostheaven
    Nov 13, 2019 via Android
    2
    配置文件或者环境变量?
    x2016
    x2016
    Nov 13, 2019
    3
    做个维护界面, 读取正则执行匹配
    a5401017
    a5401017
    OP
    Nov 13, 2019
    4
    @jswxg
    @x2016
    就是在正则存储到数据库里,匹配的时候 去读数据库?
    abeholder
    abeholder
    Nov 13, 2019
    5
    已经算良心甲方了好么,还给提供正则的。 。。
    xiaoyang7545
    xiaoyang7545
    Nov 13, 2019
    6
    这个需求很正常啊。要么存储的库里面,要么就在用代码生成 config 的文件来读取解析。给一个编辑正则的页面就好了。
    (必须在我们源代码中写)这个要求应该是你有什么误解?
    a5401017
    a5401017
    OP
    Nov 13, 2019
    7
    @jswxg
    @x2016
    这条思路没错,但是 短信有多种格式 这个地方怎么去处理。
    怎么去匹配 维护之后的正则
    a5401017
    a5401017
    OP
    Nov 13, 2019
    8
    @abeholder 这个 甲方 应该都是差不多的
    b821025551b
    b821025551b
    Nov 13, 2019
    9
    良心家方啊,这需求不是很正常的么
    a5401017
    a5401017
    OP
    Nov 13, 2019
    10
    @xiaoyang7545 可能是吧。多种的话 怎么去正确匹配短信?
    a5401017
    a5401017
    OP
    Nov 13, 2019
    11
    @b821025551b 之前做的时候 说短信格式 不会变 就给写死了 。现在又说经常变
    Tink
    Tink
    Nov 13, 2019
    12
    我觉得没问题啊,这不是很正常的需求吗?

    而且懂正则的甲方真的有吗?
    0NF09LJPS51k57uH
    0NF09LJPS51k57uH
    Nov 13, 2019
    13
    这个需求并不奇葩。正则可以存 DB 可以存缓存,量不大甚至可以放内存,至于如何匹配,就是业务上的事情,既然不同正则对应不同的短信格式,可以用职责链去做。
    Uyuhz
    Uyuhz
    Nov 13, 2019
    14
    @Tink 懂正则的没见过,但是会写 sql 的领导你见过没。

    以前给某 zf 做外包的时候,有一个需求,就是管理台里用户自己能改 sql,我当时就问我们组长客户有这个能力改 sql 吗....组长:领导还真会.....
    huage2580
    huage2580
    Nov 13, 2019
    15
    这个= =
    我觉得正常需求?
    提供思路的话,策略模式走起,抽象策略至少两方法,一个能不能处理这条短信,一个处理的结果。比如短信发送方号码匹配,关键字匹配等等。然后责任链串起来。再来一个正则的 baseImp,比如从 db 获取正则还是 json 读取等等,自由发挥。
    nnnToTnnn
    nnnToTnnn
    Nov 13, 2019
    16
    正常啊,提供一个维护界面即可
    xiaoyang7545
    xiaoyang7545
    Nov 13, 2019
    17
    @a5401017 那就必须甲方提供需求,如何分辨短信 A 适用于 A 正则,如何分辨短信 B 使用 B 正则。

    举个简单的例子,就是 比如甲方说 号码来源为 XXX1 起始的用 A 正则, 为 XXX2 起始的使用 B 正则,默认正则为 C。
    a5401017
    a5401017
    OP
    Nov 13, 2019
    18
    @xiaoyang7545 这个 也不是确定的
    saltedFish666
    saltedFish666
    Nov 13, 2019
    19
    要不界面配置,要不给配置文件,读取文件内容
    Kiriya
    Kiriya
    Nov 13, 2019
    20
    和信息有关的业务要注意法律风险
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2858 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 84ms · UTC 00:42 · PVG 08:42 · LAX 16:42 · JFK 19:42
    ♥ Do have faith in what you're doing.