我有语义库,其中包含数据库字段,在上一列中具有可能/匹配的同义词,即商品 ID | products_id - 项目 ID | products_id - 事物 ID | products_id。
我需要在用户输入的话语结果中匹配上述字段,并让系统选择相关的数据库字段(在上述情况下为"products_id")。
问题是用户可能会提到他们选择的上述同义词,如果删除单词顺序,匹配功能可能会失败,即:
用户:给我看商品的ID。
用户:我想查看项目及其 ID。
用户:你能用ID号显示东西吗?
您能否建议在这种情况下应该使用哪种准确的正则表达式语法/组合,因为它非常费力,我正在尝试不同的方法来使其工作。到目前为止,我已经尝试了积极的展望,但不确定。
^(?=.*goods)(?=.*id).*$
尝试使用此正则表达式:
^(?=.*b(?:goods?|things?|items?)b)(?=.*bidb).*$
^---place here if you want to add more
把你的话放在用烟斗(|
)分隔的(...)
内。注意,我使用了s?
这意味着s可以存在或不存在。例如,goods?
同时支持 good
和 goods
试试这个在线演示