[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 メーリングリストの案内