postgresqlでは、特定の列のフィールドから3つの特定の英数字を抽出し、そこから年を作成する必要があります。フィールドの値がFUT,GRA,S12,1055559
またはS11,1050830,PON
の場合は、S11
またはS12
が必要で、2011
または2012
を作成する必要があります。 結果はテキストフィールドのままです。Postgresの正規表現regexp_split_to_array
私はS??
を入手するために以下を使用しました:substring(my_field from E'(S\\d\\d),')
しかし、年を作成するのは難しいようです。私はregexp_split_to_array
を使用したいと思っていましたが、うまく動作していないようです。あなたはほとんどそこにいるように見える
AFAIK、PostgreSQLの正規表現には単語境界はありません。\ bはバックスペースを意味します。 – Toto
そうです、http://www.postgresql.org/docs/9.1/static/functions-matching.html#POSIX-LIMITS-COMPATIBILITY – araqnid
ああ、それは残念です。 Lookaheadはサポートされていますが、Lookbehindではサポートされていません。乾杯! –