2
我运行到与knitr对HTML模板的rinline模式的问题:尖括号
inline.code : chr "<!--\\s*rinline\\s*([^>]*)\\s*-->"
这种模式的本质意味着knitr不承认任何rinline表达式本身包含有角度的括号。 E.g:
<ul>
<!--rinline I(paste("<li>",gene.black.list,"</li>",collapse="",sep="")) -->
</ul>
是不是由发动机评价,因为我想(gene.black.list只是一个字符向量,希望我的代码的意图很明显)。为了避开这个我做了以下内容:
<!--begin.rcode echo=F
tagged.gene.black.list = paste("<li>",gene.black.list,"</li>",collapse="",sep="")
end.rcode-->
<ul>
<!--rinline I(tagged.gene.black.list) -->
</ul>
其中一期工程,但似乎与创建多余的额外的变量和多个码块有点不尽人意。有没有更聪明,整洁的方式我失踪?
是的,我需要改变正则表达式,但我不知道什么是正确的。理想情况下,我希望匹配一旦看到' - >'就停下来,这听起来像是一个非贪婪的匹配,但是''<! - \\ s * rinline(。*?) - >''不会解决问题(我想PCRE应该能够解决它)。所以我也需要帮助。 –
啊,好的。无论如何,谢谢你的答案(和伟大的工具) - 至少我不会错过一些明显的东西! – user1980716