C# 如何让正则表达式区分表达式?

C# 如何让正则表达式区分表达式?,c#,regex,C#,Regex,我希望问题的标题有意义 我不得不修改一个webscraper来添加VIEWSTATEGENERATOR。这是我用来获取VIEWSTATE的代码 var viewState = Regex.Match( responsedata, "__VIEWSTATE.+?value=\"(.+?)\"", RegexOptions.IgnoreCase | RegexOptions.Singleline).Groups[1].ToString(); 这对于刮取所有记录来说效果很好

我希望问题的标题有意义

我不得不修改一个webscraper来添加VIEWSTATEGENERATOR。这是我用来获取VIEWSTATE的代码

var viewState = Regex.Match(
    responsedata, 
    "__VIEWSTATE.+?value=\"(.+?)\"",
    RegexOptions.IgnoreCase | RegexOptions.Singleline).Groups[1].ToString();
这对于刮取所有记录来说效果很好,但是现在,由于希望优化刮取函数,我注意到还有一个VIEWSTATEGENERATOR字段

我不知道如何让正则表达式区分两者。我仍然需要获取ViewState,现在是VIEWSTATEGENERATOR。 我对RegEx的使用经验有限,但通过查看代码我知道,它无法区分两者,现在我从来没有得到ViewState,只有VIEWSTATEGENERATOR值

样本

这是字符串,这是我的表达式不起作用的地方,因为它看到了viewstate和viewstategenerator,我需要将两者分开

manScript\u HiddenField=&\u EVENTTARGET=p%24lt%24ctl03%24pageplaceholder%24p%24lt%24ctl03%24alldoctorsearch%24btnSubmit&\uu EVENTARGUMENT=&&uu LASTFOCUS=&lng=en-CA&\uu-VIEWSTATEGENERATOR=a534343185&p%24lt%24ctl00%24SearchBox%24txtWord=Site+Search&p%24lt%24ctl03%24pageplaceholder%24p%24p%24lt%24lt%24ctl03%24pageplaceholder%24p%24p%24lt%24ctl03%24peholder%24p%24lt%24ctl03%24alldoctorsearch%24grpGender=+&p%24lt%24ctl03%24pageplaceholder%24p%24lt%24ctl03%24alldoctorsearch%24ddLanguage=08&p%24lt%24ctl03%24p%24lt%24ctl03%24alldoctorsearch%24grpDocType=rdoDocTypeSpecialist&p%24lt%24ctl03%24pageplaceholder%24p%24p%24lt%24ctl03%24alldoctorsearch%24ddSpecialist=24lt%24lt24pageplaceholder%24p%24lt%24ctl03%24AllDoctorsSearch%24grpStatus=rdoStatusActive&p%24lt%24ctl03%24pageplaceholder%24p%24lt%24ctl03%24AllDoctorsSearch%24ddCity=Select+-%3E&p%24lt%24ctl03%24pageplaceholder%24p%24lt%24ctl03%24pageplaceholder=24p%24p%24lt%24ctl03%24AllHospitalCity=Select+--%3E&p%24lt%24ctl03%24pageplaceholder%24p%24lt%24ctl03%24AllDoctorsSearch%24ddHospitalName=-1&\u视图状态=%


不确定您的意思,但为了确保没有
生成器

"__VIEWSTATE(?!GENERATOR).+?value=\"(.+?)\""

正则表达式真的是最简单的方法吗?@emodendroket,可能不是,但在我使用VIEWSTATEGENERATOR之前,它工作得很好。你能展示一个你试图解析的字符串的示例吗?@Dzyann,当然,这需要几分钟,然后我将编辑问题并添加一个示例
VIEWSTATE.+?
匹配VIEWSTATE和VIEWSTATEGENERATOR。有什么问题吗?