使用带有换行符的正则表达式“\ n”

时间:2012-02-24 08:31:44

标签: ruby regex

尽管有换行符\n

,是否可以使用正则表达式

e.g。这段代码效果很好

> "|text|".gsub(/\|(.+?)\|/){"###"}
=> "###"

这不是

> "|\n text|".gsub(/\|(.+?)\|/){"###"}
=> "|\n text|"

2 个答案:

答案 0 :(得分:3)

使用m修饰符进行多行匹配:

"|\n text|".gsub(/\|(.+?)\|/m){"###"}

答案 1 :(得分:1)

以下是m修饰符的替代方法(特定于您的情况):

"|\n text|".gsub(/\|([^\|]+?)\|/){"###"}

它将匹配到下一个|