我試圖創建一個正則表達式來查找(然後最終替換)PG數據庫中的字符串的部分。我正在使用PSQL 9.0.4Postgres與正則表達式的查詢
我已經測試了我的正則表達式以外的PG,它的工作完美。但是,PG的表現並不好。如果任何人都可以幫助我理解我做錯了什麼,我會非常感激。
正則表達式:
{php}.*\n.*\n.*'mister_xx']\)\);.*\n} \n{\/php}
Postgres的查詢:
SELECT COUNT(*) FROM (SELECT * FROM "Table" WHERE "Column" ~ '{php}.*\n.*\n.*'mister_xx']\)\);.*\n} \n{\/php}') as x;
Postgres的響應:
WARNING: nonstandard use of escape in a string literal
LINE 1: ...M (SELECT * FROM "Table" WHERE "Column" ~ '{php}.*\n...
^
HINT: Use the escape string syntax for escapes, e.g., E'\r\n'.
ERROR: syntax error at or near "mister_xx"
LINE 1: ..."Table" WHERE "Column" ~ '{php}.*\n.*\n.*'mister_x...
您需要在查詢中圍繞'mister_xx'轉義單引號。 –
我試過了,可惜它會返回相同的錯誤。 –
我也嘗試轉義{和}字符 –