【发布时间】:2015-06-30 19:37:38
【问题描述】:
我正在尝试在 LDT JavaScript 插件之上编写一个 Markdown 解析器,它允许一种实时解析。它具有基本功能,其中之一是使用正则表达式的自定义解析器。
在尝试实现 Markdown“解析器”时,我卡在了列表上。我要匹配
- This string
* and that string
确切地说
1. A string that starts with a number whic must be followed by a period.
因此,在创建解析器时,所有条目都被连接并用管道分隔 (|)。模板为:new Regexp("^("+s+")$")。
我当前的正则表达式匹配无序列表:
/[-\*]\s[^\n\r]*\n?/
...但这也匹配在一行的中心。
匹配- 或* 前缀字符串或数字前缀字符串但必须有句点的正则表达式是什么?
【问题讨论】:
-
为什么不给我们您的输入和您想要的输出? :D
-
不推荐使用正则表达式进行解析。正则表达式是一个小型模式引擎。这个问题可以回答,但从长远来看,用 Regex 解析 Markdown 可能不是你最好的选择。
-
这个工作吗:
/^([-*]|\d\.)\s(.*)$/gm -
Sam:这匹配编号的行,末尾没有句点。我的不优雅,但你可以试试。 regex101
-
您将隐喻与描述混合在一起。不要说 template 是一些正则表达式语法,它不是。这个
^("+s+")$"非常晦涩。我很确定你可以用正则表达式解析任何东西。很多时候是分阶段进行的。
标签: javascript regex parsing