为什么不---。* ---选择---包容性之间的一切?

时间:2015-06-29 15:47:08

标签: ruby regex

我有一个看起来像这样的文本文件:

Some text here. This text is not replaced.

---

And then a wild block appears!
It has stuff in it that I'm trying to replace.

---

The block is no more. Nothing to replace here. 

我想要替换------之间的所有内容。所以我在尝试:

text=File.open('myfile')
text.sub(/---.*---/, 'replacement')

但这似乎不起作用。我究竟做错了什么?

1 个答案:

答案 0 :(得分:4)

您需要指定" multiline"模式中的选项使点符号与换行符匹配:

因此,您的代码应该看起来像

text.sub(/---.*?---/m, 'replacement')

请参阅example