2017-11-04 5 views
0

3つの値を見つけて、正規表現で置き換えることを考えています。例えば、私は排他的に1、2及び3Psql lookbehind regex複数の値を置換する

私はそれを理解し、後読みdoesnの一致と交換するために探していますどちらの場合も

word [1,2,3]

232 word[1 , 2, 3]

1d1 word [1,2, 3]

未知の長さをサポートしていません。

これを行うためのエレガントな方法はありますか?

また、条件文が

おかげオプションされていないSQL outwithこれを行う方法を知って良いでしょう。

編集:私は、私はある程度WHERE match_string ~ 'word'を使用することができます

把握。

+0

あなたのregexエンジンが[肯定的なlookbehinds](https://www.regular-expressions.info/lookaround.html)をサポートしているなら、[this regex](https://regex101.com/r/7tdTIB/1/) ) '(?<= \ [(d)\ s ?, \ s?(d)、\ s?(\ d)(?= \])'は –

+0

https://www.postgresql .org/docs/9.1/static/plpgsql-control-structures.html –

+0

ロジックを関数に入れると、条件式を使用できます。なぜあなたはどちらかの条件付きを必要とするか、後ろを見る必要があるのか​​分かりません。 @ CalvinTaylor。 –

答えて

0

あなたは好きなように処理する関数を書くことができます。チェックアウトpostres control structures

一度に処理された行を返すか、フィールドを処理する関数を作成できますか?適切なテキストを返す。例えば、myfix(poordatafield)をsometableから選択する。

return nextを使用する場合のパフォーマンスに関する考慮事項があります。

関連する問題