Ruby-如何扫描此文本内容?

Ruby-如何扫描此文本内容?,ruby,Ruby,我想要这样的输出:[“#foo\n\n1234\n\n”、“#bar\n\nk23j4k2j4\nk23j4kj4\n\n”、“#baz\n\nk2k2k2\n\n”]使用以下文本内容中的scan方法 content = ' # foo 1234 # bar k23j4k2j4 k23j4kj4 # baz k2k2k2 ' 我尝试了以下代码。但它并不像我想的那样有效 p content.scan(/^#.*/m) # => ["# foo\n\n1234\n\n# bar

我想要这样的输出:
[“#foo\n\n1234\n\n”、“#bar\n\nk23j4k2j4\nk23j4kj4\n\n”、“#baz\n\nk2k2k2\n\n”]
使用以下文本内容中的
scan
方法

content = '

# foo

1234

# bar

k23j4k2j4
k23j4kj4

# baz

k2k2k2

'
我尝试了以下代码。但它并不像我想的那样有效

p content.scan(/^#.*/m)
# => ["# foo\n\n1234\n\n# bar\n\nk23j4k2j4\nk23j4kj4\n\n# baz\n\nk2k2k2\n\n"]
你如何解决这个问题


注意:您也可以使用
split
或其他方法代替
scan

匹配所有字符串,包括
。 你必须排除它

content.scan(/^#[^#]*/m)
# => ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"]

匹配所有字符串,包括
。 你必须排除它

content.scan(/^#[^#]*/m)
# => ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"]
试一试

它匹配
#
和其他任何内容,直到您再次找到
#

=> ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"] 
试一试

它匹配
#
和其他任何内容,直到您再次找到
#

=> ["# foo\n\n1234\n\n", "# bar\n\nk23j4k2j4\nk23j4kj4\n\n", "# baz\n\nk2k2k2\n\n"] 

我知道的ruby不够多,无法回答您的问题,但我想在“#\n”一词上分道扬镳。然后我会删除第一个结果,在每个结果前加上一个#,然后进行搜索和替换以转换换行符或\n和/或\r。我不知道足够的ruby来回答您的问题,但我会在“#\n”上拆分。然后我将删除第一个结果,在每个结果前加上#,然后执行搜索和替换以转换换行符或\n和/或\r。