Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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和span类是如何工作的?_C#_Regex - Fatal编程技术网

C# 在这段代码中,Regex和span类是如何工作的?

C# 在这段代码中,Regex和span类是如何工作的?,c#,regex,C#,Regex,我继承了一个网站的代码,这个特殊的函数用于在给定零件号时从网站获取描述。我以前从未使用过正则表达式,所以这个集合有点超出我的范围,我希望能得到一些帮助,找出它不能正常工作的原因 基本上,此功能的理想操作是,当站点用户在适当字段中输入零件号并按下按钮时,从单独站点获取的标准零件描述将输出给用户。我在第三方网站上检查了regex试图匹配的元素,代码为 随机描述 public静态字符串GetPartHpDescription(字符串url) { //创建对url的请求 HttpWebRequest

我继承了一个网站的代码,这个特殊的函数用于在给定零件号时从网站获取描述。我以前从未使用过正则表达式,所以这个集合有点超出我的范围,我希望能得到一些帮助,找出它不能正常工作的原因

基本上,此功能的理想操作是,当站点用户在适当字段中输入零件号并按下按钮时,从单独站点获取的标准零件描述将输出给用户。我在第三方网站上检查了regex试图匹配的元素,代码为

随机描述
public静态字符串GetPartHpDescription(字符串url)
{
//创建对url的请求
HttpWebRequest request=HttpWebRequest.Create(url)为HttpWebRequest;
//如果请求不是HTTP请求(如文件),请忽略它
if(request==null)返回null;
//使用用户的凭据
request.UseDefaultCredentials=true;
//从服务器获取响应,如果有错误,则不返回任何内容
HttpWebResponse响应=null;
尝试{response=request.GetResponse()作为HttpWebResponse;}
catch(WebException){returnnull;}
//HTML标题的正则表达式

//字符串regex=@”(?我猜我们有一些ID,我们希望提取它们的textContnet,如果我们必须使用正则表达式,我们将从一个简单的表达式开始,然后如果需要,我们将添加更多约束

<span id=["'](ctl00_.+|other_ids)["']>(.+?)<\/span>

为了帮助您,我们需要一些您想要解析的html示例,但作为一般规则,总是在正则表达式前面添加@,我看不到您考虑转义字符。@make the string literal因此不需要使用例如“\\“不要使用正则表达式解析HTML。请使用HTML parser.edited,这样您就可以在第三方网站上看到我正在解析的代码。正如我所说,我继承了代码,并且对正则表达式的概念很陌生,所以我只是想弄清楚它在做什么以及为什么不能正常工作。理想情况下,一旦这个函数运行并与“span”匹配,它就会正常工作。”在第三方网站上,将类转换为正确的span类,输出应该是该类的对象。在关于的示例中,它将输出为字符串“随机描述”它是如何工作的?糟糕..真的。
using System;
using System.Text.RegularExpressions;

public class Example
{
    public static void Main()
    {
        string pattern = @"<span id=[""'](ctl00_.+|other_ids)[""']>(.+?)<\/span>";
        string input = @"<span id=""ctl00_BodyContentPlaceHolder_lblDescription"">Random Description</span>
<span id='ctl00_BodyContentPlaceHolder_lblDescription'>Random Description</span>
";
        RegexOptions options = RegexOptions.Multiline;

        foreach (Match m in Regex.Matches(input, pattern, options))
        {
            Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
        }
    }
}