编辑 抱歉,我发现自己的问题没有问题。 Markdown消耗了换行符。尽管如此,我的代码仍有问题,答案给出了正确的解决方案。
我正在使用Ruby,我想在某些行的末尾找到ID号,将其转换为URL。例如
>253
irrelevant text
>254
到
> foo.php/253
irrelevant text
> foo.php/254
我尝试了类似下面的内容,但新行/回车消耗了。
text.gsub!( /^(> ?)(\d+)(\s*$)/ , "\\1\\2\\3" )
结果将全部在一行中。我也不知道它是/r,/ n还是/ r / n,所以我不想硬编码换行符。
答案 0 :(得分:1)
这应该有效:
text.gsub(/(?:^|(?<=[\r\n]))>[ \t]*(\d+)(?=\s*?(?:$|[\r\n]))/m, "> foo.php/\\1")
更新:这个更好(也更短):
/(?<![^\r\n])>[ \t]*(\d+)[ \t]*(?![^\r\n])/