在字符串中查找图像 URL

本文关键字:图像 URL 查找 字符串 | 更新日期: 2023-09-27 18:33:52

我的程序旨在根据特定的关键字在字符串中搜索图像URL。 它实际上工作正常,唯一的问题是"找不到搜索"错误。出于某种原因,它就像代码没有到达这个"if",并且如果没有找到匹配项(最后一个如果),则不会返回任何错误。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Text.RegularExpressions;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            using (WebClient client = new WebClient()) 
            {
                int count = 0;
                Regex SearchItem = new Regex("http://.+?''.jpg");
                string SearchValue = "fgdfgdf";
                string htmlCode = "fsdflkjsdfkjsdfkjdsflkhttp://www.dssdtanya.jpgfsdf;ldsmfs;dlfms;dmfs";
                Match matches = SearchItem.Match(htmlCode);
                while (matches.Success) 
                {
                    string test = matches.ToString();
                    if (test.Contains(SearchValue))
                    {
                        count++;
                        Console.WriteLine("Result #{0}: '{1}' found in the source code at position {2}.",count, matches.Value, matches.Index);
                        matches = matches.NextMatch();
                    }
                }
                Console.WriteLine(count);
                if (count == 0) { Console.WriteLine("search not found."); }
                Console.ReadKey();
            }
        }
    }
}

在字符串中查找图像 URL

如果第一个测试不包含搜索值,则程序将进入无限循环。将您的代码更改为以下内容:

while (matches.Success)
{
    string test = matches.ToString();
    if (test.Contains(SearchValue))
    {
        count++;
        Console.WriteLine("Result #{0}: '{1}' found in the source code at position {2}.", count, matches.Value, matches.Index);
    }
    matches = matches.NextMatch(); //moved this outside the if
}