Ich versuche, eine Multiple-Choice-Frage zu parsen, um sie in einer Datenbank zu speichern. Die Multiple-Choice-Frage hat eine Mischung von Fragen mit 2 bis 4 Möglichkeiten. HierMultiple-Choice-Liste mit regulärem Ausdruck analysieren
ist ein Beispiel:
1) First question with 4 choices ?
a) First choice b) Second choice c) Third choice d) Last choice
2) Second question with only 3 choices ?
a) First choice b) Second choice c) Last choice
3) True or False ?
a) True b) False
...
Ich habe versucht, es in PHP zu analysieren regulären Ausdrücken, und hier ist der Ausdruck, den ich mit so weit habe kommen:
/(?P<q_num>\d{1,3})\)\s?(?P<quest>.+)\n(\s?a\)\s?)(?P<ans_a>.+)(b\)\s?)(?P<ans_b>.+)(c\)\s?)(?P<ans_c>.+)((d\)\s?)(?P<ans_d>.+))?/g
Aber wenn verfügbar, wird Auswahl D mit Auswahl C zusammengeführt (oder C + D verschmilzt mit B nur im Fall von 2 Auswahlmöglichkeiten) und ich kann es nicht schaffen, sie zu trennen.
Was würden Sie vorschlagen?