使用正则表达式一次性将多道试题和答案都匹配出来

### 我在word文档上有几千道选择题,我想利用正则表达式把它们都变成一个电子表格形式的内容

### 我使用了RegexTester工具来做的,该工具是用C#开发的!

### word内容的题目内容如下:
1题目:门诊就诊顺序为先 答案:E
A:.挂号
B:.预检分诊
C:.测体温
D:.提供检验单
E:.卫生宣教

2题目:燃烧法灭菌,不能用于 答案:D
A:.弯盘
B:.组织剪刀
C:.带致病菌又无保留价值的纸张
D:.铜绿假单孢菌污染的敷料
E:.镊子

3题目:过氧乙酸不能用于 答案:A
A:.手的消毒
B:.空气消毒
C:.浸泡金属器械
D:.擦拭家具
E:.浸泡搪瓷类物品

### 我使用了如下正则表达式只获取到了题目内容:
(?<=\d+题目:)[.\s\S]*?(?=答案:)
工具使用效果图
但我想同时获取答案、A-F的答案内容到第2列、第3列...第7列等多列,这个正则表达式应该如何写才能把题目内容、答案和选项一并获取了呀?请各位大神指导一下,谢谢!

回答:

正则:题目:(.*)答案:(?'a'[A-E])[\s\S]+?(?P=a):.(.*)
我这没有 C# 的选项,所以命名捕获组我是抄了@老鼠拧刀满街找猫的写法,但是使用子表达式(?P=name)我不知道 C# 里是不是这样的,不行评论了我再看看。
image.png

回答:

正则:
\d+题目:(?'q'.+?)\s+答案:(?'a'[A-H])\s+(?'c'[A-H]:.[^\n]+(?:\n|$))+

在线查看

image.png

回答:

我直接说这个的不足吧,因为很多题可能还包括图片等非字符信息,所以这个处理也不完备。

回答:

建议分组
先匹配习题和答案,再遍历取出答案

以上是 使用正则表达式一次性将多道试题和答案都匹配出来 的全部内容, 来源链接: utcz.com/p/195473.html

回到顶部