Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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# 正则表达式没有给出预期的输出_C#_Regex - Fatal编程技术网

C# 正则表达式没有给出预期的输出

C# 正则表达式没有给出预期的输出,c#,regex,C#,Regex,下面给出的是C代码。我尝试过代码中的正则表达式,但由于某些原因,我没有得到理想的输出。代码中给出的html只是一个示例。代码可以使用C#编译器编译 这是代码 var x = @" <html> <table> <tr> <td class=""l w60"">Adjustments:<input id=""textbox1"" type=""textbox"" n

下面给出的是C代码。我尝试过代码中的正则表达式,但由于某些原因,我没有得到理想的输出。代码中给出的html只是一个示例。代码可以使用C#编译器编译

这是代码

var x = @"
    <html>
        <table>
            <tr>
                <td class=""l w60"">Adjustments:<input id=""textbox1"" type=""textbox"" name=""textbox1"" data-label-text=""Misc. Comment12""/> </td>
                <td class=""l w60"">Adjustments:<input id=""textbox1"" type=""textbox"" name=""textbox1"" data-label-text=""Misc. Comment13""/> </td>
                <td class=""l w60"">Adjustments:<input id=""textbox1"" type=""textbox"" name=""textbox1"" No match=""Misc. Comment13""/> </td>
            </tr>           
        </table>            
    </html>";

Regex regex = new Regex(@"[\n\r].*data-label-text=""\s*([^\n\r]*)");
MatchCollection matchList = regex.Matches(x);
var list = matchList.Cast<Match>().Select(match => match.Value).ToList();
var x=@”
调整:
调整:
调整:
";
Regex Regex=new Regex(@“[\n\r].*数据标签text=”“\s*([^\n\r]*)”);
MatchCollection matchList=regex.Matches(x);
var list=matchList.Cast().Select(match=>match.Value.ToList();
当我看到列表的内容时,我发现这两个值

1. <td class="l w60">Adjustments:<input id="textbox1" type="textbox" name="textbox1" data-label-text="Misc. Comment12"/> </td>

2. <td class="l w60">Adjustments:<input id="textbox1" type="textbox" name="textbox1" data-label-text="Misc. Comment13"/> </td>
1。调整:
2.调整:
但这不是期望的输出。下面给出了所需的输出

1.Misc。评论12

2.Misc。评论13


必须在正则表达式中修改某些内容才能获得我不擅长的所需输出。请调整正则表达式,以便获得所需的输出。

您可以使用查找和更严格的字符类来排除匹配的
s:

输出:


作为示例
(?正如@UlugbekUmirov所说,您应该使用一个HTML解析库,如。
  Regex regex = new Regex(@"(?<=[\n\r].*data-label-text="")\s*([^\n\r""]*)");
  Regex regex = new Regex(@"(?<=\sdata-label-text=""\s*)[^""]*(?=\s*"")");