説明
この式は次のようになります。
- グループ 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
ます。