2011-11-25 46 views
2

我理解廣義的正則表達式,但我希望有人可以幫助理解這個更好一點。我使用它來插入一個雙線,之前只有一個 - 它幾乎可以工作,但不完全。我從'github flavored markdown'偷了這個 - 它修改爲更直觀地支持新行。有人可以用英文解釋下面的代碼嗎?

cleaned.gsub!(/^[\w\<][^\n]*\n+/) do |x| 
     x =~ /\n{2}/ ? x : (x.strip!; x << " \n") 
end 

回答

11

/^ - 從字符串的開頭:

[\w\<] - 匹配任何後者字符或打開角撐架。之後:

[^\n]* - 應該有任何非新行字符,並

\n+/ - 在年底應該是一個或多個新的生產線。

所以後來在每場比賽的代碼替換:

如果匹配的代碼包含兩個新行,然後保持不變。

否則在最後剝離一個添加空間和新行。

相關問題