我正在尝试编写一个程序,将术语和定义列表转换为抽认卡,我的想法是使用RegEx以如下方式解析输入:
term(1)-def(1)
term(2)-def(2)
term(3)-def(3)
term(4)-def(4)
term(5)-def(5)
其解析为:
terms = ["term(1)","term(2)","term(3)","term(4)","term(5)"];
definitions = ["def(1)","def(2)","def(3)","def(4)","def(5)"];
我对RegEx语法非常陌生,所以我不确定我将如何准确地做到这一点。
其他背景:
- 每行包含以下格式:
term
-definition
\n - 我将用JavaScript编写这个程序,这样我就可以在网站上托管这个程序(是的,我知道我不需要使用JS。它只是最简单的设置)。
- RegEx应该只避免第一个
-
,因为它可能出现在定义中。-
永远不会出现在术语中。
2条答案
按热度按时间z2acfund1#
您可以使用this question中描述的方法之一拆分输入,然后将结果推送到
terms
和definitions
数组或定义对象:s8vozzvw2#
您可以将第一个
-
之前的所有内容捕获为术语,并将其后的所有内容捕获为定义:但是为什么不使用JSON/objects作为输入呢?这样可以保存所有的麻烦,因为不需要字符串解析。
x一个一个一个一个x一个一个二个一个x一个一个三个一个