一部のシェル コードを解析する Java プログラムを作成しており、echo ステートメント内のコンテンツを削除したいと考えています。まず、echo コマンド全体を取り上げます。私の実際のパターンは次のようになります。
Pattern pat = Pattern.compile("echo[\\t ]+\".*?\"");
これは、echo + 少なくとも 1 つのスペースまたはタブ + 二重引用符 + 最小数の文字 (私は消極的な量指定子を使用しました) + 二重引用符に一致します。
問題は、次のようなエコーがある場合です。
echo "This will not \" work";
私のパターンは、バックスラッシュまでのみ一致します。これを修正するにはどうすればよいですか?