正则表达式替换多个段落(.Net)

Ren*_*ene 0 .net regex

自从我上次使用正则表达式以来已经有一段时间了,我有点急于完成某些事情,所以我希望我能快速回答这个快速的问题.

说我有以下文字:

Start
A
B
C
End    
Start
A
B
C
End Start
A
B
C
End
Foo
A
B
C
Bar
Run Code Online (Sandbox Code Playgroud)

我想用管道替换换行符,但只在"开始"和"结束"字之间,以便我的最终结果是:

Start|A|B|C|End    
Start|A|B|C|End Start|A|B|C|End
Foo
A
B
C
Bar
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

Wel*_*bog 5

当您开始解析这样的表达式时,您不再处于正则表达式领域.与XML类似,您需要根据其上下文区别对待相同字符的表达式是一类高于正则表达式的语言.

在这种情况下,更直接地通过字符串戳的更传统的方法会更好.

假设原始字符串按照示例显示的空格分割,您可以在任何空格上拆分字符串,并在a StartEnd令牌之间设置标记,以便在管道之间放置管道而不是换行符.