【发布时间】:2021-01-11 19:19:01
【问题描述】:
寻找在 JSON 文件之间执行模式搜索的解决方案,该解决方案可以遍历巨大的 JSON 文件而不会对性能产生太大影响。以下是几个测试用例。
搜索条件
- “cabin_1”与“cabin_1”匹配
- “cabin_3”与“cabin 3”或“3cabin”匹配
- “第一舱”与“第一舱”匹配
测试用例文件
你可以找到测试json文件here
我的想法
for each json1Property in json1
for each json2Property in json2
isMatch = regex('somepattern', json1property , json2property)
if (isMatch)
return true
else
return false
【问题讨论】:
-
您没有添加 JSON 文件,现在很难想出没有它的解决方案。另外,我认为你对你的期望不是很准确。你只想得到一个布尔值是否符合你的匹配规则?
-
@sjahan json 文件在测试用例文件头中。为了简单起见,只需匹配并返回 true 或 false 就足够了。我正在寻找更好的算法,而不仅仅是循环和比较每个属性
-
所以你想比较每个
space,看看它们是否包含匹配项,对吧?我不确定我是否完全理解您的搜索条件:列表是否详尽且明确?第五条规则的意义何在? “cabin_2”必须与“cabin2”匹配,但“cabin_1”是与“cabin1”匹配还是仅与“cabin_1”匹配? -
是的,cabine_1 应该匹配cabin1
标签: javascript c# node.js regex performance