私はルートの最初のディレクトリをとるだけで正規表現を作成しようとしています。例えばパスからルートディレクトリを抽出する方法
:
/home/oracle/file1.dbf
/home/oracle/file2.dbf
/usr/oracle/file3.dbf
/usr/oracle/file3.dbf
あなたが返す必要があります:
/home
/home
/usr
/usr
私は次のクエリを試してみた:
SELECT substr(file_name,instr(file_name,'/')-1) as FILE_NAME
FROM dba_data_files;
なぜあなたのクエリは機能しませんか? –
これは正規表現を使用せず、単純な文字列関数を使用します。 regexpr_substrは正規表現の解である可能性があります – Aleksej
タイトルに「正規表現」があるのはなぜですか?これは2つの理由でうまくいきません。まず、正規表現を使わないほうが、より効率的な解決策があります(MT0が示すように)。第二に、あなたのタイトルは、あなたが念頭に置いている解決策ではなく、あなたが解決しようとしている問題を常に記述すべきです。 (この場合は、とにかく正規表現を使用しませんでしたが、たとえそれがあったとしても...) "パスからルートディレクトリを抽出する方法"のようなタイトルははるかに意味があり、特定のアプローチを使用する必要があります。 – mathguy