次のファイル パスを検討してください。
\\fileserver\share\documents\department\my_project\a_sub_folder\myfile.doc
「\documents\department\my_project」というテキストを正規表現で抽出する必要があります。詳細:
- 「fileserver」と「share」を除外
- 後に 3 つの「論理」トップ レベル フォルダーに制限し、「\a_sub_folder」を除外します。
- ファイル名を含めない ("myfile.doc")
次の正規表現を使用..:
^.*share(?P<folders>\\.+)\\.+
..「フォルダ」グループでこれを取得します。
\documents\department\my_project\a_sub_folder
私を悩ませているのは、「a_sub_folder」を取り除く方法です。繰り返し演算子をフォルダーグループに追加しようとしましたが、効果はありません:
^.*share(?P<folders>\\.+){1,3}\\.+
^.*share(?P<folders>\\.+){1,3}?\\.+
上記の 2 つのうち最初のものは出力を変更しませんが、2 つ目は空のグループ「フォルダー」を返します。
私の正規表現は根本的に間違っていると感じていますが、その理由はわかりません。誰でもこれに光を当てることができますか?
ありがとう :)
/ゲイル