您好,我正在编写一个python正则表达式解析器,我正在尝试编写一个正则表达式,它在大量文本中的单词QUESTION之间选择文本
示例文本
Exam A
QUESTION 1
Blank is designed to help users.
A. baba.
B. caca.
C. sasa.
D. tyty.
Correct Answer: D
Explanation
Explanation/Reference:
QUESTION 2
can I do something?
A. No
B. Yes
Correct Answer: C
Explanation
Explanation/Reference:
QUESTION 3
What does provide?
asdasdasd
import re
import os
import sys
questions_file_text = open("questionguide.txt", "r").read()
Questions = re.findall("(?:(?!QUESTION).|[\n\r])*QUESTION",questions_file_text)
因此,我想选择所有内容,包括问题编号,直到下一个问题出现。通过这种方式,我可以进行一些文本解析,将其格式化为json
我会做python,只是我的正则表达式有点不对劲,有人能帮我吗
好吧,我很笨,答案如下:
如果您使用
QUESTION([\s\S]*?)QUESTION
,您将错过每隔一个Question
,因为下一个Question
将与上一个正则表达式匹配一起使用你可以用
见regex demo。您还可以捕获各个部分:
见another regex demo
正则表达式详细信息
QUESTION
-一个{\s+
-1+空格字符(\w+)
-组1:一个或多个单词字符\s*
-0+空格(.*?)
-第2组:任何0+字符,尽可能少(?=QUESTION|$)
-直到QUESTION
或字符串结尾李>相关问题 更多 >
编程相关推荐