[英]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.