次のように、私は正規表現を持っている:コメントを除外する正規表現ですか?
(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(\/\/.*)
そして、私のテスト文字列を次のように
<?
/* This is a comment */
cout << "Hello World"; // prints Hello World
/*
* C++ comments can also
*/
cout << "Hello World";
/* Comment out printing of Hello World:
cout << "Hello World"; // prints Hello World
*/
echo "//This line was not a Comment, but ... ";
echo "http://stackoverflow.com";
echo 'http://stackoverflow.com/you can not match this line';
array = ['//', 'no, you can not match this line!!']
/* This is * //a comment */
https://regex101.com/r/lx2f5F/1
それは、ライン2と一致した4〜9 7、13することができます〜17正しく。
しかし、それはまた、 どのように非貪欲マッチングに?
すべてのヘルプは感謝していただければ幸いです。
regex * for *とは何ですか?なぜ*? – jonrsharpe
あなたがマッチしたくない行が何であるか明確に言及してください...あなたの正規表現からそれを理解しなければならない場合、あなたの正規表現は正しいものでなければならないので、推測の時間を投資するポイントはありません... –
これは質問はすでに答えている、あなたはここを見ることができます! http://stackoverflow.com/a/41867753/2012407 – antoni