ファイルパスをgulpタスクに置き換えます。そのために私はRegexを書く必要があります:JavaScriptファイルパスを上書きするための正規表現
私は全体のパス../assets/js/components/**/
を空の文字列で置き換える必要がある../assets/js/components/main/main.component.html
というフォルダ構造を持っています。だから、私の例で正規表現を適用した後、私は、例えば:main.component.html
正規表現は、サブフォルダの一つだけのレベルでのみパス../assets/js/components/
と一致する必要があります、例えば:../assets/js/components/**/
のみhtmlファイルを取得する必要があります。唯一../assets/js/components/
とパスが../assets/js/components/main/shouldnotmatch/
どちらも一致し、複数のサブフォルダを持つパスはならない私はすでに1つの正規表現を書いた:
^..\/assets\/js\/components\/(?:\[^\/\]+\/?)*$
ここでの問題は、それがすべてを選択していること、です。どのようにこれを修正するための任意のアイデア?
EDIT:
より多くの例:
../assets/js/components/main/ => ../assets/js/components/main/ ../assets/js/components/ => should not match ../assets/js/components/test/index.html => ../assets/js/components/test/ ../assets/js/components/main/shouldnotmatch/shouldnotmatch.html => ../assets/js/components/main/ ../assets/js/components/some_components.html => should not match ../assets/js/components/1.html => should not match
まず、あなたは 'あなたが'^\使用することができます.' – Rajesh
注意をエスケープする必要があります\ \。。/assets \/js \/components \ /([^ \ /] + \ /?)$ 'を使用して、コード内のグループ1の値を参照してください。あなたのデモでは、行間のマッチングを避けるために '\ n'を' [^ \ /] 'に入れなければならないことに注意してください。 https:// regex101を参照してください。com/r/PbCnXa/1 –
@WiktorStribiżewが、最初のものだけを選択します。 '../ assets/js/components/** /'をどこでも選択する必要があります。 – Gabriel