我一直致力于google docs to markdown converter将用Google文档编写的帖子转换为可以在jekyll中轻松使用的内容。不幸的是,谷歌文档有一些弱点,使转换变得非常重要。例如,kramdown emphasis要求强调的文字是"包围"通过强调标记,其中:
另一方面,在google docs中,可以强调空格,这将生成kramdown无法解析的输出。包围意味着起始分隔符后面不能有空格,并且停止分隔符的前面不能有空格。
* em *将生成* em *,而不是 em 。
我已经写了一个正则表达式,可以匹配和替换这个错误的重点,但是我被困在一个角落的情况下。
/(\*+)(\s*\b)([^\*]*)(\b\s*)(\*+)/g
将正确匹配(从而允许替换下面的每个重点区域):
*** Strong italic text ***, and even just *strong text *, when rendered in * Markdown*, doesn't like *spaces * around the boundaries of the stars.
但是当一个词内有强调时会窒息。
* You can see it also within the li**n**es here. *
(现在比赛停止时,* s在#34;行"并且在终止*之前没有捕获"" s。
这一切在regexr上都很明确。
如何编辑正则表达式以正确处理这个角落的情况,即忽略(正确)嵌入单词中的*?