我试图通过 regex 在某些文本条件周围添加 html 标签。现在,我有 * 和 ** 工作(添加 h1 和 h2 标签)
我对 li 标签有相同的格式,但它在开头旁边添加了结束标签,这不是我想要的。
为什么输出不一样?
:::文本文件::::
* this is an awesome *
** this could be something better **
* another test *
- li are good for lists
::: 结束文本文件 :::
:::我的输出:::
-bash-4.1$ ruby markup.rb testMarkup.txt
<h1>this is an awesome <\h1>
<h2> this could be something better <\h2>
<h1>another test <\h1>
<li><\li>li are good for lists
::结束输出:::
:: 红宝石文件 ::
#!/usr/bin/env ruby
text = IO.read(ARGV[0])
text = text.gsub(/^\*{1}[^*](.*?)\*{1}\s/) do
"<h1>" + $1 + "<\\h1>"
end
text = text.gsub(/^\*{2}(.*?)(\*{2})\s/) do
"<h2>" + $1 + "<\\h2>"
end
text = text.gsub(/^[-](.*?)\s/) do
"<li>" + $1 + "<\\li>"
end
puts text
:: 结束红宝石文件 ::