Ruby正则表达式从指定的HTML标记中删除换行符?

Ruby正则表达式从指定的HTML标记中删除换行符?,html,ruby,regex,Html,Ruby,Regex,对不起,我对正则表达式真的很不在行,我终于黑了osmething在ruby中工作了。如果有人能告诉我正确的方法,我将不胜感激: 我基本上想要删除所有出现在ul标签中的\n while body =~ /<ul>.*(\n+).*<\/ul>/m body =~ /<ul>(.+)<\/ul>/m body.gsub!( /<ul>(.+)<\/ul>/m, "<ul>#{$1.gsub("

对不起,我对正则表达式真的很不在行,我终于黑了osmething在ruby中工作了。如果有人能告诉我正确的方法,我将不胜感激:

我基本上想要删除所有出现在ul标签中的\n

while body =~ /<ul>.*(\n+).*<\/ul>/m
  body =~ /<ul>(.+)<\/ul>/m
  body.gsub!(
    /<ul>(.+)<\/ul>/m,
    "<ul>#{$1.gsub("\n","")}</ul>" )
end
whilebody=~/
    *(\n+).*/m 正文=~/
      (.+)/m body.gsub!( /
        (.+)/m, “
          ”{$1.gsub(“\n”和“)}
        ”) 结束
第二行花了我很长时间才弄明白,因为$1来自while循环,而不是gsub语句


谢谢

使用regexp的TIMTOWTDI,但这里有一个较短的尝试:

body.gsub!(/<ul>.*?<\/ul>/m) {|m| m.tr("\n",'') }
body.gsub!(/
    *?/m){| m | m.tr(“\n”,”)}

基本上,找到(非贪婪地)所有ul标签,并将其替换为所有已移除的换行符(检查RDoc中的和)

与regexp的TIMTOWTDI,但这里有一个较短的尝试:

body.gsub!(/<ul>.*?<\/ul>/m) {|m| m.tr("\n",'') }
body.gsub!(/
    *?/m){| m | m.tr(“\n”,”)}

基本上,找到(非贪婪地)所有ul标签,并用移除的所有换行符替换它们(检查RDoc中的和)

但是,为什么这很重要?除非您的列表中有一个或一些东西(或者除非您有一些后续处理代码将所有换行符转换为
标记),否则文档不会有任何不同。但是,这有什么关系呢?除非列表中有一个或一些东西(或者除非有一些后处理代码将所有换行符转换为
标记),否则文档不会有任何不同。