我有一个问题,我想知道如何解决。
我有一个字符串,我从一个包含问题列表的pdf文件中读到。 它的格式为:
问题编号:1
xxxxxxx(问题文本)
A)xxxx(多选)B)xxxx C)xxxx ......
答案:xxxxx
问题编号:2
xxxxxxx(问题文本)
......(等)
列表中有大约200个问题。
我正在尝试使用正则表达式来分解文本,因此每个问题都可以在一个单独的字符串中。
我之前用html和xml文档完成了这个,但它们很简单,因为有很多识别标签,如双引号,括号和圆括号。
但我对如何用文本做这件事毫无头绪。我尝试了很多组合,但似乎我无法获得正确的格式:
var questionPattern = @"QUESTION NO:(.*)QUESTION NO:";
var questionMatch = Regex.Matches(pdfText, questionPattern, RegexOptions.Singleline);
我想知道,有办法吗?
var questionPattern = @"(?<=QUESTION NO:)[^QUESTION NO:]*";
[^QUESTION NO:]*
读取每个问题标题后的所有内容,直到下一个问题标题停止为止?
显然这是错误的格式,但我希望人们能理解我想要达到的目标。
非常感谢任何帮助 谢谢!
答案 0 :(得分:2)
这可能是你得到的最好的 - 取决于答案。前瞻需要有条件,并且会破坏整个表达。
(QUESTION NO: \d+[\S\s]*?Answer.*\n*)