2012-02-15 14 views
0

相対URLのディレクトリレベルを削除し、スラッシュをアンダースコアに置き換える必要があります。 これらの相対URLには、1つまたは2つ上のレベル(../または../../)が含まれています。今私は使用しています:javascript相対パスを置き換える

$('area, a').click(function() { 
     cleanPath = $(this).attr('href').replace(/'..'/g, "").replace(/\//g, "_")); 
}); 

しかし、それは動作しません。ここにも同様の質問が掲載されていますが、私の特定の問題に対処するようなものはありません。明らかに、私はRegExの専門家ではありません。 誰でも私がこれを理解するのを助けることができますか?

+0

もっと具体的になりますか?完全なURLに変更しますか? – MiJyn

答えて

0

あなたの正規表現/'..'/gは、アポストロフィのすべての一致を探し、直後に任意の文字が続き、直後に任意の文字が続き、別のアポストロフィが続きます。 .は、改行以外の文字と一致します(複数行モードが有効になっていない場合)。

試してみてください、次のいずれか

/\.\./g 

または

/[.]{2}/g 

バックスラッシュを付加することで、あなたの正規表現はリテラル .(すなわち、期間)として .を扱います。

[.].を囲むことによって、正規表現はまた、({2}は正確に2出現箇所のためのものである、バックツーバック)リテラル.として.を扱います。