尽管有换行符\n
e.g。这段代码效果很好
> "|text|".gsub(/\|(.+?)\|/){"###"}
=> "###"
这不是
> "|\n text|".gsub(/\|(.+?)\|/){"###"}
=> "|\n text|"
答案 0 :(得分:3)
使用m修饰符进行多行匹配:
"|\n text|".gsub(/\|(.+?)\|/m){"###"}
答案 1 :(得分:1)
以下是m修饰符的替代方法(特定于您的情况):
"|\n text|".gsub(/\|([^\|]+?)\|/){"###"}
它将匹配到下一个|
。