6

*/ を含む正規表現を含むコード ブロックにコメントを付ける賢い方法があるかどうか知っていますか?

たとえば、次の命令を含むブロックにコメントしていることに気付きました。

...

messageParser.run('messageFetched',/.*/);

...

しかし、ブロックにコメントすると:

/*

messageParser.run('messageFetched',/.*/);

*/

次に、javascript は正規表現をコメント クローズとして解釈し、ファイルを解析できません。問題のある行の前に//を配置しようとしましたが、役に立たず、ブロック内のすべての行にコメントしたり、正規表現を変更したりしたくありません。

これを行う賢い方法はありますか?

4

3 に答える 3

2

正規表現を次のように変更します/(.*)/

messageParser.run('messageFetched',/(.*)/);

/*
messageParser.run('messageFetched',/(.*)/);
*/
于 2013-10-12T18:57:39.013 に答える
1

ベストアンサーがすでに選ばれているので遅くなってしまいましたが、あなたは「巧妙なトリック」を探していたので、空の非キャプチャグループで終わることをお勧めします:

/.*(?:)/

これは次と同等です:

/.*/

コードを変更する必要がない場合は、これが最も便利です。(たとえば、リファクタリングを介して、またはキャプチャ グループを導入することの副作用として。) 意味的にも同じであり (キャプチャ グループを導入することはできず、ロジックを書き直す必要が生じる可能性があります)、関数と比較してパフォーマンスへの悪影響が少なくなります。プロキシ。

公式の ECMAScript 仕様 (JavaScript 言語が基づいている) では、実際には、「空の」正規表現を表すために空の非キャプチャ グループ /(?:)/ を使用することを推奨しています。

于 2013-10-12T21:47:01.827 に答える