REGEX策略来替换组内的换行符



我试图用一个正则表达式一次性替换,但我认为这根本不可能。我正在使用RegexBuddy,但我总是得到一个灾难性的结果,并且无法评估表达式。

对于此文本:

3 bla bla! !
4 yep yep! ?
FROM HERE
5 something randdom here!
6 perhaps some HTML there
TO HERE
7 what ever you like over here
8 and that's all folks!enter code here

我想找到一个REGEX,它用其他东西代替换行符,比如$$,但只在";从这里"到这里";。所以基本上最终的结果是:

3 bla bla! !
4 yep yep! ?
FROM HERE$$
$$
5 something randdom here!$$
$$
6 perhaps some HTML there$$
$$
TO HERE
7 what ever you like over here
8 and that's all folks!

我有这个表达

((FROM HERE))((.*)(n))+(TO HERE)

但到目前为止,我一直在试图用其他东西来取代这个团队。我过去也做过类似的事情,所以我想说这应该是一次性的。

如果在regex中无法做到这一点,我只需创建一个C#控制台应用程序,首先将文本转换为字符串,然后用$$替换每个文本,然后将其放回。这应该没那么难。

如果您使用.NET,一个选项可能是

(?s)(?<=^FROM HEREb.*?)r?nr?n(?=.*?^TO HEREb)
  • (?s)内联修饰符,点与换行符匹配
  • (?<=^FROM HEREb.*?)在行首左侧断言FROM HERE
  • r?nr?n匹配2个换行符
  • (?=.*?^TO HEREb)在行首右侧断言TO HERE

在替换使用中(使用双转义$$(

n$$$$n

请参阅.NET正则表达式演示和C#演示。

最新更新