所以我正在做一个markdown编辑器,我想要一些功能,例如"This is *italics*".replace("*$1*","<i>$1</i>");
有什么简单的方法吗? (客户端,该文件将托管在Github Pages上,所以随机的npm包可能无济于事)
编辑:赞成和反对的人数相同。如果您告诉我为什么投票,那会有所帮助。
答案 0 :(得分:1)
简短答案: 'This is *italics*'.replace(/\*(.+)\*/, '<i>$1</i>');
说明:使用RegExp是最简单的方法,特别是grouping section。
让我们简化/\*(.+)\*/
:
/
和结尾RegExp
定义了介于两者之间的事物实际上是\
.
对其进行转义(基本上说:“嘿,下一个字符不是一个实际的选择器,但是有些文字”)+
)之间的any character,并且出现多次(即group
)parenthesis
并告诉RegExp,我们要记住的是星号之间的东西,而不是整个东西,这就是$n
起作用的地方。n
(其中1
是匹配数量编号,在这种情况下为image
)来替换匹配组