2017-09-06 6 views
2

/に文字列を分割しますが、//または///には分割しません。
正規表現はjsで1つ以上を選択します。

  1. /[^\/]\/[^\/]/gしかし/を選択する前と後に、私は文字を望んでいない:私が試した何
    \bだけ\wのためにカウントされるため
  2. /\b\/\b/g
    は働いていません。
  3. /(?<!\/)\/(?!\/)/gが、JavaScriptで後読みはサポートされていません。

私は自分の目標を達成するための方法を見つけることができません。誰にもこれに対する解決策がありますか、これはjavascriptでは不可能ですか?

答えて

2

あなたは

.match(/(?:\/{2,}|[^\/])+/g) 

を使用することができregex demo

(?:\/{2,}|[^\/])+パターンは、1つまたは複数の(+)2つの以上/文字または任意の文字の出現が、/と一致してご覧ください。これは、単一/までの任意の文字(複数可)と一致することを意味します。

var rx = /(?:\/{2,}|[^\/])+/g; 
 
var s = "a/b//c///d////r"; 
 
console.log(s.match(rx));

+0

さて、シングル/しかし、選択されたすべてのものがあります。しかし、私は実際にそれらを選択したい。表現全体を否定することは可能ですか? –

+1

S.Babovic @あなたは 'スプリット()'メソッドを使用することはできません。私が示したように 'match()'を使用してください。 [OK]を、Chromeで、そこに(いくつかの特別なオプションを有効にして)後読みを使用する方法ですが、それはまだJSの正規表現のための非標準的な構造です。 –

関連する問題