2017-10-12 102 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。我建議你在你的要求中清楚。 –