「任意の」区切り文字の間でテキスト ファイルの一部を置き換えることに関して、少し問題があります。
これが私がやりたいことです: 次のようなマークアップがあります:
// [ADX START] ANYTHING // [ADX END]
<!-- [ADX START] --> ANYTHING <!-- [ADX END] -->
/*
[ADX START] */ ANYTHING /* [ADX END] */
したがって、これらは異なるコメント スタイルであり、最初の [ADX START] (周囲のコメントを含む) を取得し、次にその間のテキスト、最後に最後の [ADX END] を取得します。
したがって、次のようなテキスト ファイルを指定します。
test.php:
<?php
BEFORE
// [ADX START]
REMOVEME
// [ADX END]
AFTER
test.css:
BEFORE
/* [ADX START]*/
REMOVEME
/*[ADX END] */
AFTER
なる:
test.php:
<?php
BEFORE
AFTER
test.css:
BEFORE
AFTER
等々。ご覧のとおり、コメント スタイルと区切り文字の間に任意の数の空白を含めることができます (またはゼロにすることもできます)。
だから、私がこれまでに思いついたのは次のとおりです。
string newFileContent = Regex.Matches(fileContent, "(\\[ADX START\\].*\\[ADX END\\])", RegexOptions.IgnoreCase);
しかし、それは何もしません。つまずくのはブラケットなどだと思います。さらに、#、//、/**/ などのさまざまなコメント スタイルをドロップインできるようにしたいと考えています。
正しい方向へのポインタをいただければ幸いです。