Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
3.0k views
in Technique[技术] by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...