REGEX はパスから文字列を検索し、その一部を除外します。

REGEX はパスから文字列を検索し、その一部を除外します。

これが簡単なことであることを願っています。私はREG_EXTRACTInformaticaを使用して変数からファイル名を抽出しています。正規表現を使用して抽出するコンテンツを識別します。ここに私の例があります。 powercenterに入ったときのファイル名とファイルパスです。

FILENAME=/test_files/infa_test/nippy/SrcFiles/JUNK/JUNK_OPS_SPINK_PAE_01-01-01-01-01-99.csv
REG_EXTRACT($FILENAME,'^\/(.+\/)*(.+)$',2).  

結果JUNK_OPS_SPINK_PAE_01-01-01-01-01-99.csvJUNK /の後に、 "JUNK_OPS"など、_SPINKの前のfile_nameのみを抽出する正規表現パラメータを作成するのに問題があります。アンダースコアはファイルごとに異なりますが、「_SPINK」は常に抽出する必要がある項目の後に表示されます。どんな助けでもいいでしょう。

ベストアンサー1

たぶん、次のようなものがあります。

^.*\/(.*)_SPINK.*$

残念ながら、Informaticaにアクセスしてテストすることはできませんが、sed次のことに同意します。

echo '/test_files/infa_test/nippy/SrcFiles/JUNK/JUNK_OPS_SPINK_PAE_01-01-01-01-01-99.csv' |
sed -E 's/^.*\/(.*)_SPINK.*$/\1/'

それからJUNK_OPS

REG_EXTRACT動作方法によっては、次のように短縮できます。

\/([^/]*)_SPINK

おすすめ記事