2017-10-12 107 views
1

我想识别其中一个元素中包含错误(根据我们的项目标准)日期格式的文档,例如:。我们的应用标准日期格式是'[MNn,-3] [D01],[Y]'。因此,我遍历所有<document-create-date>,并希望识别日期字段值不匹配'[MNn, -3] [D01],[Y]'格式的文档。请让我知道如何匹配marklogic中的日期格式。在Marklogic中验证日期格式

回答

0

您可以使用字符串match()来评估日期值是否与自定义日期格式的正则表达式匹配。

if (documentCreateDate.match(/[A-Z][a-z]{2} \d{2}, \d{4})) { 
    "date is valid" 
} else { 
    "date is invalid" 
} 
0

我认为最少的处理器/内存密集可能是使用词典(覆盖默认的标记化),并使用cts:not-query()的某种组合,并使用cts:element-value-match这个术语扩展这个逻辑,因为具有无效模式的文档不会使它放到结果集中(因为它们将在词汇匹配的rem扩展中被排除)。因此,围绕这个构建和cts:not-query()应该工作。

然后归结为这是否比一些更复杂的索引更精通,因为这种方法会为查询提供一个大的术语列表。

+0

这与搜索api无关。我需要日期格式的javascript代码与'[MNn,-3] [D01],[Y]'格式 – Sukesh

+0

进行比较绝对*关于您的查询的任何内容都没有提到有关JavaScript的任何信息。它仅被标记为MarkLogic。我建议你在你的要求中清楚。 –