gpt4 book ai didi

javascript - 如何测试字符串中是否包含 Markdown

转载 作者:数据小太阳 更新时间:2023-10-29 05:07:47 24 4
gpt4 key购买 nike

我正在寻找一种简单的方法来测试字符串是否包含 markdown。目前我正在考虑将字符串转换为 HTML,然后测试是否有带有简单正则表达式的 html,但我想知道是否有更简洁的方法来做到这一点。

这是我到目前为止所得到的

/<[a-z][\s\S]*>/i.test( markdownToHtml(string) )

最佳答案

我认为您必须接受无法确定地知道这一点。 Markdown 借用了现有习惯的语法——例如下划线表示斜体在 Usenet 上很流行(尽管单个星号表示粗体,而不是斜体)。当然,早在 Markdown 之前,人们就一直在使用破折号作为明文项目符号点的明显替代品。

虽然确定它是主观的,但我们现在可以着手确定一段文本包含 Markdown 的可能性。以下是我认为 Markdown 的一些证据,按强度递减的顺序排列:

  1. 1. 开头的连续行,例如 (^|[\n\r])\s*1\.\s。 *\s+1\.\s。 (例如,请参阅此答案背后的 Markdown。)我认为这是一个绝妙的赠品,因为甚至还有那个笑话:

    There are only two kinds of people in this world.

    1. Those who understand Markdown.

    1. And those who don't.

  2. 链接 Markdown ,例如 \[[^]]+\]\(https?:\/\/\S+\)

  3. 当可以找到左右对(分别由空格在左边或右边表示)时,双下划线或星号,例如 \s(__ |\*\*)(?!\s)(.(?!\1))+(?!\s(?=\1))。如果你想让我解释一下,请告诉我。

等等。最终,您必须想出自己的“评分”系统来确定这些事物中每一个的权重。解决这个问题的一个好方法是收集一些样本输入(如果你有真实的输入,那就更好了),手动将它们分类为是否有 Markdown,然后运行你的正则表达式和评分系统来查看哪些权重最能将它们分类准确。

关于javascript - 如何测试字符串中是否包含 Markdown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24686588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com