0

Dojo アプリケーション・モジュールを開発しているときに、チュートリアルで正規表現に出会いました。

var pathRegex = new RegExp(/\/[^\/]+$/);
var locationPath = location.pathname.replace(pathRegex, '');
var dojoConfig = {
    async: true,
    packages: [
    {
        name: 'modules',
        location: locationPath + '/js/modules'
    }
};

この正規表現とパスでの置換はどういう意味ですか?RegExp(/\/[^\/]+$/)

4

1 に答える 1

1

それは単に、最後/と最後の間のすべてを一致させて、すべてを「何もない」に置き換えること、つまり削除することを意味します!

/my/path/goes/here -> /my/path/goes[/here] -> /my/path/goes

正規表現の説明

外側/はここまで無視できます。正規表現があることをマークするだけです(一部の実装では、その後にフラグを追加できます

次に、一致させたいと考えてい/ます。ただし、/特殊文字なのでエスケープする必要があります。したがって、彼らは使用します\/

[^...]を除くすべてを意味します...

したがって、最後までの複数回[^\/]+を除くすべてを意味します。/$

ただし、将来役立つので、正規表現の基本について読むことを強くお勧めします! そして、いつものように自分の知識を応用できれば、本当に気分がいいです >:) 乾杯!

于 2013-06-19T07:22:37.553 に答える