次のクエリは、文字列から括弧を取り出します。つまり、正規表現は括弧を何も置き換えません。pgAdimin III (1.12) でテストすると期待どおりに動作しますが、psycopg2 を使用する python スクリプトの一部である場合、括弧はまったく置き換えられません。
SELECT
regexp_replace(location.name, '\\(|\\)', '', 'g') AS host
FROM
location
psycopg2 2.3.2 で python 2.7.1 を実行しており、私の OS は SLES 11 SP1 です。
pgAdmin で実行された postgres クエリは、psycopg2 で実行されたものとまったく同じ結果を返すと思いますか、それとも間違った仮定ですか? 必要に応じてデータを提供できますlocation.name
が、文字列です。
(ヤギ) 172.10.xx -> /var/log/messages
編集: Python コード:
cursor.execute("""
SELECT
regexp_replace(location.name, '\\(|\\)', '', 'g') AS host
FROM
location
""")
パラメータ化された引数は答えのように見えます。