这段时间要做一个答题 APP,有个导入题库的功能 ,题库来自于 word 文档,格式如下:
单选题 1.财务核算中心下设报账中心,报账中心配备会计主管 1 名,总行及各分支机构分别配备记账员和( )。 ( 0.09 分) A . 会计员 B . 库管员 C . 出纳员 D . 柜台人员 标准答案 :C (此处省略多道单选题 ) 多选题 750.农合机构对被投资企业不具有控制权,投资期限届满或者投资期限超过 11 年,且被投资企业资不抵债的,农合机构无法收回的股权可认定为呆账,其申报材料包括( )。 ( 0.12 分) A . 被投资企业破产证明 B . 财产追偿证明 C . 被投资企业投资期证明 D . 工商部门吊销证明 E . 破产清算证明 标准答案 :A, B, C, D, E (此处省略多道多选题 ) 判断题 1094.金融企业根据相关法律法规对其涉农贷款和中小企业贷款进行风险分类后,按照一定的比例计提的贷款损失准备金,准予在计算应纳税所得额时扣除,其中次级类贷款计提比例为 50%。 ( 0.06 分) 正确 错误 标准答案:错误 (此处省略多道判断题 )
有三种类型的题 ,单选多选判断,如何提取出题目类型,主题,答案选项,正确答案,分数。 google 解决方法的时候,看到似乎可以用正则来解决,无奈我正则不太灵光,总是写不好,在这里跟大家求个思路,谢谢了。
本人主打语言:Go
![]() | 1 bestrenxs 2017-07-13 00:17:38 +08:00 可以尝试一下解析 word 的库 |
![]() | 2 geelaw 2017-07-13 01:01:35 +08:00 ![]() 这题目难道不是平凡的吗? 单选题\s+ [0-9]+\.\s*(.*?)\s* (\s*([0-9]*\.[0-9]+|[0-9]+)\s*分)\s* (\s*[A-Za-z]\s*\.\s*(.*?)\s*)+ 标准答案\s*:\s* ([A-Za-z]) | 多选题\s+ [0-9]+\.\s*(.*?)\s* (\s*([0-9]*\.[0-9]+|[0-9]+)\s*分)\s* (\s*[A-Za-z]\s*\.\s*(.*?)\s*)+ 标准答案\s*:\s* ([A-Za-z]\s*,\s*)*([A-Za-z]) | 判断题\s+ [0-9]+\.\s*(.*?)\s* (\s*([0-9]*\.[0-9]+|[0-9]+)\s*分)\s* \s*正确\s* \s*错误\s* 标准答案\s*:\s* (正确|错误) 以上这个正则表达式,忽略表达式内空白,所有你需要的内容都在捕获组里面了,使用之前把 Word 文档的正文另存为文本文件。 |
3 mooncakejs 2017-07-13 01:10:32 +08:00 via iPhone 用正则像刀尖上跳舞,有几个字不匹配就玩玩,写一个类似 sax 解析的方法,感觉比较靠谱。 |