当前位置:首页 » 《随便一记》 » 正文

【C#】获取文本中的链接,通过正则表达式的方法获取以及优化兼容多种格式

15 人参与  2024年02月29日 10:56  分类 : 《随便一记》  评论

点击全文阅读


欢迎来到《小5讲堂》
大家好,我是全栈小5。
这是《C#》系列文章,每篇文章将以博主理解的角度展开讲解,
特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。
温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!

在这里插入图片描述

目录

前言链接匹配提取正则表达式一优化正则 正则表达式概念1.匹配数字2.匹配字母3.匹配空白字符4.匹配特定字符5.匹配重复次数6.匹配选择项7.匹配起始和结束位置 相关文章

前言

在看CSDN平台上的私信时,PC端是如何识别到文本链接的,
后来想想,应该是在录入时就已经识别并按链接方式保存,所以发送和显示私信文本时就是一个链接。
处于这个好奇,假如是一个纯文本情况下又如何识别,博主尝试通过正则表达式进行识别出来。

链接匹配提取

通过一定规则和规律进行文本提取,第一个比较明显的规律就是链接第一是含有http协议

正则表达式一

代码
 string pattern = @"(https?://[^\s]+)"; Regex regex = new Regex(pattern); MatchCollection matches = regex.Matches(item.content); foreach (Match match in matches) {     Console.WriteLine(match.Value); }
效果
在这里插入图片描述
上面代码还是不够准确的,并且必须是识别了https协议开头的链接,比如下面这个文本就不支持了
在这里插入图片描述

优化正则

优化后的正则表达式

((https?|ftp|file)?/[-A-Za-z0-9+&@#/%?=_|!:,.;]*[-A-Za-z0-9+&@#/%=_|])

string content = @"我刚创作了一篇博文:《【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),代码实现篇》http://t.csdnimg.cn/j1M12,快来支持我吧!";string pattern = @"((https?|ftp|file):\/\/[\-A-Za-z0-9+&@#\/%?=~_|!:,.;]*[\-A-Za-z0-9+&@#\/%=~_|])";Regex regex = new Regex(pattern);MatchCollection matches = regex.Matches(content);foreach (Match match in matches){    Console.WriteLine(match.Value);}

在这里插入图片描述

正则表达式概念

正则表达式是一种用来描述字符串匹配规则的强大工具。它可以用来在文本中搜索、匹配和替换符合特定模式的字符串。在 C# 中,你可以使用 System.Text.RegularExpressions 命名空间中的类来处理正则表达式。

下面是一些常用的正则表达式语法和模式示例:

1.匹配数字

\d 表示任意一个数字。例如,\d+ 可以匹配一个或多个连续的数字。

2.匹配字母

\w 表示任意一个字母或数字。例如,\w+ 可以匹配一个或多个连续的字母或数字。

3.匹配空白字符

\s 表示任意一个空白字符,例如空格、制表符、换行符等。

4.匹配特定字符

可以使用字符本身来匹配。例如,
abc 可以匹配由字母 “a”、“b” 和 “c” 组成的字符串。

5.匹配重复次数

使用 {} 来指定某个模式的重复次数。例如,a{3} 表示连续出现 3 次的字符 “a”。

6.匹配选择项

使用 | 来分隔多个选择项。例如,(apple|banana) 可以匹配 “apple” 或 “banana”。

7.匹配起始和结束位置

使用 ^ 表示字符串的开始位置,$ 表示字符串的结束位置。例如,^start 表示以 “start” 开头的字符串。

这只是正则表达式语法中的一小部分。
正则表达式还包含更多高级的模式和操作符,可以根据需要进行学习和使用。

相关文章

【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),代码实现篇
【C#】使用代码实现龙年春晚扑克牌魔术(守岁共此时),流程描述篇
【C#】约瑟夫原理举例2个代码实现
【C#】List泛型数据集如何循环移动,最后一位移动到第一位,以此类推
【C#】获取文本中的链接,通过正则表达式的方法获取以及优化兼容多种格式

温故而知新,不同阶段重温知识点,会有不一样的认识和理解,博主将巩固一遍知识点,并以实践方式和大家分享,若能有所帮助和收获,这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/71374.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 抓阄选妻角色专属支线试读入口_珊珊刘思语周承小说节选试读
  • 顾砚廷慕晚夏苔藓爬满旧日诺言结局+番外(顾砚廷慕晚夏)_苔藓爬满旧日诺言结局+番外顾砚廷慕晚夏列表_笔趣阁(顾砚廷慕晚夏)
  • (番外)+(全书)途径一场风月全书+番外免费下载_(宋泠音商予淮)途径一场风月全书+番外列表_笔趣阁(宋泠音商予淮)
  • [老公割下我的腿骨送给青梅]小说后续在线免费阅读_「顾裴司青梅沈竹心」章节分享
  • 土匪袭村时,他在陪白月光看电影文章简述列表_土匪袭村时,他在陪白月光看电影文章简述(白雪葛大福张双锁)
  • 日暮青山绿渐隐全书+后续+结局(许星森纪冰雪许书阳)_(日暮青山绿渐隐全书+后续+结局)(许星森纪冰雪许书阳)
  • 「爱如蜉蝣」精彩节选试读_[陆绾江辰贺逸琛]精彩节选试读
  • 繁花盛意难平结局+番外(陆依霜轩辕翊)繁花盛意难平结局+番外结局_陆依霜轩辕翊列表_笔趣阁(繁花盛意难平结局+番外)
  • 爱恨缠绵,花心愁欲断结局+番外(虞梵音顾墨琛)_爱恨缠绵,花心愁欲断结局+番外虞梵音顾墨琛
  • 日暮青山绿渐隐言情作品(许星森纪冰雪许书阳)_日暮青山绿渐隐言情作品
  • 繁花盛意难平+后续+结局(陆依霜轩辕翊)_(陆依霜轩辕翊)繁花盛意难平+后续+结局(陆依霜轩辕翊)
  • 繁花盛意难平(陆依霜轩辕翊)_繁花盛意难平

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1