パターンマッチング を使用できます Postgresの機能。
最初にパターンを理解する 4番目までのすべてをキャプチャする>
キャラクター。
パターンを開始するには、>
以外をキャプチャするサブグループを作成する必要があります 文字、および1つの>
キャラクター:
([^>]*>)
次に、それを4回キャプチャして、>
の4番目のインスタンスに到達します。
([^>]*>){4}
次に、それをグループにラップして、一致すると4つのインスタンスすべてが返されるようにする必要があります。
(([^>]*>){4})
文字列の先頭(中央ではなく)からのみ一致するように、文字列の先頭記号を適切に配置します。
^(([^>]*>){4})
最初のグループ要素(右側のパネルのオンライン正規表現で確認できます)で必要なものを返すパターンを取得したら、SQLでそれを選択し直す必要があります。
Postgresでは、サブストリング関数 正規表現パターンを使用して、部分文字列の「from」ステートメントを使用して入力からテキストを抽出するオプションがあります。
最後に、すべてをまとめます!
select substring(filter_type from '^(([^>]*>){4})')
from filter_table
>
のインスタンスが4つ未満の場合は常に、文字列全体を照合する場合 、次の正規表現を使用します:
^(([^>]*>){4}|.*)