首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding
V2EX  ›  算法

求教有关“模式匹配”的算法/数据库设计: func(x,y,z,...)

  •  
  •   taurenshaman · 2018-10-14 18:28:20 +08:00 · 571 次点击
    这是一个创建于 426 天前的主题,其中的信息可能已经有所发展或是发生改变。
    [场景]
    数据库中的条目 Item 包括不定数量的参数 Param,
    Param 有这些属性:
    Key:参数名
    DataType:限定的参数值类型
    Optional:该参数不是必须的
    Regex:用于更严格限定的正则表达式
    (其它还有些限定条件,比如最小值,最大值,枚举等等,暂时不考虑)

    问题:
    给定若干 [参数值] ,比如( 1,2,abc )或者( abc,123 ),怎样找出符合参数规则的条目。
    e.g. 2 个参数( abc,123 ),假设有条目 Item999 包含 4 个参数( x, y, z, m ),其中 x 是必须的,其它 3 个是可选的,这里假设 y 和 z 都是整数类型且都适用 123 这个值,m 是其它类型,则需要返回 2 个结果:
    Item999(x=abc, y=123),
    Item999(x=abc, z=123)


    不知道有谁接触过这方面的数据库设计或算法吗?
    谢谢!
    1 回复  |  直到 2018-10-15 14:43:21 +08:00
        1
    taurenshaman   2018-10-15 14:43:21 +08:00
    自问自答:
    把每个 item 的所有可能性都列出来,类似索引数据,最后只是遍历即可:
    Item999, key1, key3
    Item999, key2, key3
    ...
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2156 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 04:44 · PVG 12:44 · LAX 20:44 · JFK 23:44
    ♥ Do have faith in what you're doing.