单独的多行代码块形成文本

时间:2014-01-26 13:16:24

标签: html ruby-on-rails ruby regex string

Description -as\r\n [code]a = b+ 4\r\nc= a +j\r\n\r\n[/code]\r\nagain text\r\n[code]a = c + 4\r\n[/code]"
我需要的输出是将[code]中包含的文本传递给coderay进行格式化。 或者你可以说类似于stackoverflow,其中我们可以看到代码部分和文本部分分开。如果代码块在一行中,我正在关注Separate Code blocks form text

1 个答案:

答案 0 :(得分:1)

您可以使用它来避免换行问题:

str.gsub(/\[code\]((?>[^\[]++|\[(?!\/code]))*+)\[\/code\]/) do |match, replace|
   ...

[code]标记之间的内容位于第一个捕获组中。