1

コードを持っている

obj.property.style.split( /\s*;\s*/ ).forEach( function(s) {...

問題は*/、パターン内のがコメント区切り文字として機能していることです。

例えば

/* comment this out please
obj.property.style.split( /\s*;\s*/ ).forEach( function(s) {..
OOPS - NOT commented out */

これを引用する通常の方法はregexp何ですか?

4

3 に答える 3

2

*修飾子は1のショートカットな{0,}ので、次のようになります。

/\s*;\s{0,}/

ただし、これにより通常よりも少し少なくなるため、コメントを使用してコードをコメントアウトしないことを検討し/* .. */ます。


1 {n,}はECMAScript5thEditionで指定されています。ただし、MDCにはリストのみが表示されます{n,m}

于 2013-01-24T06:59:01.523 に答える
0

あなたのコードは次のようになっていると思います:

obj.property.style.split( /\s*;\s*/ ).forEach(function(s) {
  ...very...
  ...long...
  ...implementation...
});

ブロック全体をブロックコメントするのではなく、別の観点から考えると、コールバックをスタンドアロン関数として抽出してみませんか。forEach()そうすれば、安全にラインコメントできる1行だけが必要になります。

function eachHandler(s) {
  ...very...
  ...long...
  ...implementation...
}

//you just prevented the forEach!
//obj.property.style.split( /\s*;\s*/ ).forEach(eachHandler);
于 2013-01-24T07:02:28.593 に答える
0

スペックから:

空の正規表現を指定するには、次を使用します。/(?:)/

あなたの場合:/\s*;\s*(?:)/

は、親がキャプチャするの?:を防ぎます。キャプチャを気にしない場合は、/\s*;\s*()/

于 2013-01-24T08:12:02.407 に答える