簡體   English   中英

javascript 中的 Postgres RegExp 驗證

[英]Postgres RegExp validation in javascript

使用 POSIX 正則表達式匹配運行 Postgres 查詢時,如果其中一個 RegExp 模式無效,則查詢可能會導致invalid regular expression錯誤。 如果 regex 查詢使用數據庫列,如果只有一個數據庫行包含無效的 RegExp 模式,則會發生錯誤。

問題是驗證用於此類查詢的值似乎不是很簡單。 我遇到的所有用於驗證 javascript 中的 RegExp 模式的解決方案,包括諸如regexpp之類的庫,對於測試 Postgres 是否認為給定模式是有效的似乎都不可靠。

有沒有一種方法可以測試模式在 Postgres 查詢中是否有效,或者是進行此驗證以使用該模式實際運行 Postgres 查詢的唯一方法?

我不認為有任何內置的東西可以以用戶可訪問的方式進行。 您可以通過捕獲錯誤來創建自己的 function 來執行此操作。

create function true_on_error(text) returns bool language plpgsql as $$
BEGIN
    perform regexp_match('',$1); 
    return false;
exception when others then
    return true;
end$$;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM