我在替换“任意”分隔符之间的部分文本文件时遇到了一些问题。
这是我想要做的:我有如下标记:
// [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);
但是,这无济于事。我认为让我绊倒的是括号等;此外,我希望能够简单地插入不同的注释样式,例如 #、//、/**/ 等;
任何指向正确方向的指针都将不胜感激。