Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Regex:如何分解纯文本字符串_C#_Regex_String_List_File Io - Fatal编程技术网

C#Regex:如何分解纯文本字符串

C#Regex:如何分解纯文本字符串,c#,regex,string,list,file-io,C#,Regex,String,List,File Io,我有一个问题,我想知道如何解决 我从一个pdf文件中读取了一个字符串,其中有一个问题列表。 它的格式是: 问题1 xxxxxxx(问题文本) A) xxxx(多选)B)xxxx C)xxxx 答复:xxxxx 问题2 xxxxxxx(问题文本) 。。。。(等) 名单上大约有200个问题 我试图使用正则表达式来分解文本,这样每个问题都可以在一个单独的字符串中 我以前在html和xml文档中做过这项工作,但它们很简单,因为有很多标识标记,如双引号、方括号和圆括号 但我不知道如何用文字来做到这一点。我

我有一个问题,我想知道如何解决

我从一个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:]*";

var questionPattern=@”(?这可能是您将得到的最佳答案-取决于答案。Lookaheads需要是有条件的,并且会破坏整个表达式

(QUESTION NO: \d+[\S\s]*?Answer.*\n*)

工作示例:

我知道我可以用split轻松地完成这项工作,但我想知道是否可以用Regex完成,谢谢。谢谢你的编辑,顺便说一句,remus,我在我的程序中进行了测试,但它似乎不起作用。有什么原因可以让它在你的Regex测试仪中工作,而不是在c#中工作吗?哦,没关系,我只需要去掉RegexOptions。单线参数。谢谢!另外,由于列表中有200多个问题,我将“\d+”改为“\d*”太棒了!而且,将+改为*不会改变数字-*表示0或更多数字,+表示1或更多数字。因为你永远不会在列表中没有数字,我想它是可以互换的。