[pgsql-jp: 40878] Re: 正規表現での質問 E'

Takanori Yoshida takanori @ sraoss.co.jp
2011年 8月 3日 (水) 15:05:30 JST


吉田です。

> いなばと申します。
> 
> 正規表現をマスターしたいと思い
> 
> インターネットで、
> 
> http://www.postgresql.jp/document/8.4/html/functions-matching.html
> 
> PostgreSQL 8.4.4文書
> 第 9章関数と演算子
> 
> を読んでいましたら、
> 
> 例:
> 
> regexp_replace('foobarbaz', 'b(..)', E'X\\1Y', 'g')
>                                    fooXarYXazY
> 
> と言うところの
>  E'X\\1Y'
> と言うところの 「E」が何を意味しているかわかりませんでした。
> 
> 何度も見なおしていますが、分からないで困っています。
> 
> すみませんがどなたか、わかる方教えていただけますか?

これは、文字列内にバックスラッシュが入っているとログに WARNING を
出力するように PostgreSQL 8.2 で加えられた修正です。

バックスラッシュが含まれる文字列がある場合は、必ず E (大文字でも
小文字でもいいので)で文字列を囲むエスケープ表現、と覚えておけば
よいと思います。

PostgreSQL 8.2.0 リリースノート
http://www.postgresql.jp/document/current/html/release-8-2.html


-- 
Takanori Yoshida <takanori @ sraoss.co.jp>
SRA OSS, Inc. Japan


pgsql-jp メーリングリストの案内