描述
该表达式将:
- 将整个问题通过答案捕获到第 0 组
- 将问题编号捕获到第 1 组
- 将问题的文本捕获到第 2 组
- 捕获第 3 组的可能答案块
- 捕获第 4 组的答案值
- 允许所有标点符号,包括问号
^(\d+)\.\s*(.*?)[\r\n\s]+(^a\).*?)[\r\n\s]+Ans:\s+([a-z]+\b)
例子
有关工作示例,请参见此处:http ://www.rubular.com/r/RQoobTedtg
示例文本
12. Any Text _ Goes here, And end with ? Or . And also can contain another paragraph.
a) Q1 possible
b) Q1 use regex
c) Q1 not possible
d) Q1 i dont know
Ans: a
Do you like kittens or other random text?
24. Second question is here
a) Q2 possible
b) Q2 use regex
c) Q2 not possible
d) Q2 i dont know
Ans: b
火柴
Match 1
1. 12
2. Any Text _ Goes here, And end with ? Or . And also can contain another paragraph.
3. a) Q1 possible
b) Q1 use regex
c) Q1 not possible
d) Q1 i dont know
4. a
Match 2
1. 24
2. Second question is here
3. a) Q2 possible
b) Q2 use regex
c) Q2 not possible
d) Q2 i dont know
4. b
笔记
这个正则表达式确实假设每个问题Ans: x
最后都会有一个。