JavaScriptの正規表現を使用して、JavaScriptのサンプル内のすべてのコメントを削除しようとしています。すべてのコメントを検出するJavaScript正規表現
次のように私が持っている正規表現は次のとおりです。
/((\/\*+)(\*|\s)*([^]*[\*]*)(\*|\s)*(\*+\/))/g
私はに対してそれを実行しているサンプルがある:あなたの便宜のために
/*basic comment*/
console.log('turtle');
/*********************
Fancy liney comment
*********************/
console.log('turtle');
/****long basic comment ****/
console.log('turtle');
/*
*
* Oh look, it's one of these... great.
*
*/
、私はregex101.comで、このデモを作成しました。
真珠の正規表現(PCRE)を使用している場合、regex101で見られるように、これはすべて正常に動作し、4つのコメントがすべて見つかって一致として登録されます。しかし、私はJavaScriptでこれをやっています。regex101のJavaScriptフレーバーを選択すると、ブロック全体が1つの一致として強調表示されます。つまり、コメントを削除するときれいなタートルログが殺されます。どんな助けでも大歓迎です。
この部分は、あなたが思っていることをしていますか? – usr2564301
'var trollString =" aaaand .../*失敗!脆弱な解決策です。とにかく、何かが分からなければ、\/\ * [\ s \ S] *?\ * \/'はもっと簡単に思えます。 –
あなたの '*'を貪欲でないものにしますが、@NiettheDarkAbsolが指摘しているように、これは次のようになります: '[^] * [\ *]' –