首页 新闻 会员 周边

请问如何使用 C# 或是 regex 抓取出 markdown 内的图片链接呢 ?

0
悬赏园豆:10 [已解决问题] 解决于 2020-08-21 17:57

请问以下的文章我想要抓取出图片链接怎么做呢

期望得到结果 :

[
    "https://pic1.zhimg.com/v2-e2a3d00a61269e4b136df4d9343b5d04_b.jpeg",
    "https://pic1.zhimg.com/v2-be76771c70ca3852041a25f256892244_b.jpeg",
    "https://pic1.zhimg.com/80/v2-7b13e969fe35c10a83a92e39cb73fa2e_720w.jpeg"
]

输入资料 :

## [超详细的阿里字节Spring面试技术点总结(建议收藏)](https://www.cnblogs.com/zhuifeng523/p/13541817.html)

一线互联网公司面试常问的spring核心知识点总结

## 前言

Spring作为现在最流行Java开发技术,其内部源码设计非常优秀。

Spring这个词对于Java开发者想必不会陌生,可能你每天都在使用Spring,享受着Spring生态提供的服务。现在很多互联网公司都把Spring作为招聘面试其中最重要的知识点之一来考核。

毫不夸张的说,Java程序员想要进一线大厂,Spring是必须要掌握的。

文末有福利~

![](https://pic1.zhimg.com/v2-e2a3d00a61269e4b136df4d9343b5d04_b.jpeg)

做程序员难,做一个2020年的程序员更难,随着IT人员越来越多,我们的竞争压力也越来越大,想要在茫茫人海中脱颖而出,其实考察的就是我们技术栈的广度和深度。

一般Spring面试的哲学三问,是什么?为什么?怎么用?

![](https://pic1.zhimg.com/v2-be76771c70ca3852041a25f256892244_b.jpeg)

Spring底层到底要看什么?以下是总结的spring核心知识点,给大家分享一下,希望可以对你掌握Spring有所帮助。

先分享一个Spring知识点思维导图给大家

![](https://pic1.zhimg.com/80/v2-7b13e969fe35c10a83a92e39cb73fa2e_720w.jpeg)
我问故我在的主页 我问故我在 | 初学一级 | 园豆:29
提问于:2020-08-21 16:45
< >
分享
最佳答案
1
            var str = "![](https://1.jpeg)";
            var list = Regex.Matches(str, @"(?:!\[.*\]\()(.*)(?:\))");
            var list1 = new List<string>();
            foreach (Match item in list)
            {
                list1.Add(item.Groups[1].Value);
            }
收获园豆:4
slowstart | 小虾三级 |园豆:525 | 2020-08-21 17:12
其他回答(2)
1

正则多匹配,正则表达式:https://(.*?).jpeg

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Common
{
/// <summary>
///
/// </summary>
public class RegexHelper
{
#region 正则单匹配

    /// <summary>
    /// 正则单匹配
    /// </summary>
    /// <param name="htmltext"></param>
    /// <param name="pattern"></param>
    /// <param name="isCut"></param>
    /// <returns></returns>
    public static string _GetMatchStr(string htmltext, string pattern, bool isCut = true)
    {
        var result = "";
        try
        {
            var regex = new Regex(pattern, RegexOptions.Singleline | RegexOptions.IgnoreCase);
            var match = regex.Match(htmltext);
            if (match.Success)
            {
                result = match.ToString();
                if (isCut)
                {
                    var replaceStrs = new string[2];
                    if (pattern.Contains("(.*?)"))
                    {
                        string splitStr = pattern.Replace("(.*?)", "^");
                        replaceStrs = splitStr.Split('^');
                    }
                    result = result.Replace(replaceStrs[0], "").Replace(replaceStrs[1], "");
                }
            }
        }
        catch (Exception)
        {

        }
        return result;
    }

    #endregion

    #region 正则多匹配

    /// <summary>
    /// 正则多匹配
    /// </summary>
    /// <param name="context"></param>
    /// <param name="pattern"></param>
    /// <returns></returns>
    public static ArrayList _GetMathList(string context, string pattern, bool isCut = true)
    {
        var list = new ArrayList();
        try
        {
            var regex = new Regex(pattern, RegexOptions.Singleline | RegexOptions.IgnoreCase);
            var mc = regex.Matches(context);
            for (int i = 0; i < mc.Count; i++)
            {
                var result = mc[i].Value.ToString();
                if (isCut)
                {
                    var replaceStrs = new string[2];
                    if (pattern.Contains("(.*?)"))
                    {
                        string splitStr = pattern.Replace("(.*?)", "^");
                        replaceStrs = splitStr.Split('^');
                    }
                    result = result.Replace(replaceStrs[0], "").Replace(replaceStrs[1], "");
                }
                list.Add(result);
            }
        }
        catch (Exception) { }
        return list;
    }

    #endregion

}

}

收获园豆:3
李0539 | 园豆:442 (菜鸟二级) | 2020-08-21 17:08
1

var a = "文末有福利~ ![](https://pic1.zhimg.com/v2-e2a3d00a61269e4b136df4d9343b5d04_b.jpeg) 做程序员难,做一个2020年的程序员更难,随着IT人员越来越多,我们的竞争压力也越来越大,想要在茫茫人海中脱颖而出,其实考察的就是我们技术栈的广度和深度。 一般Spring面试的哲学三问,是什么?为什么?怎么用? ![](https://pic1.zhimg.com/v2-be76771c70ca3852041a25f256892244_b.jpeg) Spring底层到底要看什么?"; a.match(/http[s]?:\/\/pic1\.zhimg\.com\/.*?\.jpeg/g);

类似这样,中间域名随便你要不要?

收获园豆:3
WMG-Eight | 园豆:973 (小虾三级) | 2020-08-21 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册