在C#中使用正则表达式最简单的方式
更新记录
本文迁移自Panda666原博客,原发布时间:2021年5月11日。
在.NET中使用正则表达式与其他语言并无太大差异。最简单的使用就是使用Regex类型自带的静态方法。
注意:在.NET中使用正则表达式记得引用命名空间:
using System.Text.RegularExpressions;
检测正则是否匹配成功
使用Regex.IsMatch方法即可,该方法返回一个bool值。
提示:在本文最底下有完整的实例。
实例代码:
if(Regex.IsMatch(beMatch, pattern))
{
Console.WriteLine("匹配成功");
}
else
{
Console.WriteLine("请检查代码");
}
使用正则匹配单个字符串
使用Regex.Match方法即可,该方法返回一个Match类型实例。
提示:在本文最底下有完整的实例。
实例代码:
Match result1 = Regex.Match(beMatch, pattern);
使用正则匹配多个字符串
使用Regex.Matches方法即可,该方法返回一个MatchCollection类型实例。
提示:在本文最底下有完整的实例。
实例代码:
MatchCollection result2 = Regex.Matches(beMatch, pattern);
完整实例代码
using System;
using System.Text.RegularExpressions;
namespace RegexTest
{
class Program
{
static void Main(string[] args)
{
//被匹配的字符串
string beMatch = @"https://www.panda666.com|
https://panda666.com|panda666|666|panda";
//匹配模式
string pattern = @"(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?";
//检测是否匹配成功
if(Regex.IsMatch(beMatch, pattern))
{
Console.WriteLine("匹配成功");
}
else
{
Console.WriteLine("请检查代码");
}
//获得匹配的内容(单个)
Console.WriteLine("获得匹配的内容(单个)");
Match result1 = Regex.Match(beMatch, pattern);
Console.WriteLine(result1.Value); //匹配到的值
Console.WriteLine(result1.Success); //匹配是否成功
Console.WriteLine(result1.Index); //匹配到的起始位置
Console.WriteLine(result1.Length); //匹配到的值的长度
//获得匹配内容(多个)
Console.WriteLine("获得匹配内容(多个)");
MatchCollection result2 = Regex.Matches(beMatch, pattern);
foreach (Match item in result2)
{
Console.WriteLine(item.Success);
Console.WriteLine(item.Value);
Console.WriteLine(item.Index);
Console.WriteLine(item.Length);
}
//wait
Console.ReadKey();
}
}
}
在C#中使用正则表达式最简单的方式的更多相关文章
- js中如何以最简单的方式将数组元素添加到对象中
//如题,通常做法就是循环数组,最后在添加length属性,如: var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<p ...
- 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类
在Python使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容. 下面是在Python中使用 ...
- (转)Java中使用正则表达式的一个简单例子及常用正则分享
转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...
- UltraEdit中使用正则表达式-简单用法
UltraEdit中使用正则表达式 1.认识正则表达式语法: 正则表达式 (UltraEdit Syntax): % 匹配行首 - 表明要搜索的字符串一定在行首. $ 匹配行尾 - 表明要搜索的字符串 ...
- PHP中有关正则表达式的函数集锦
之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...
- JavaScript中的正则表达式(终结篇)
JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...
- Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...
- javascript中的正则表达式学习
一.前言 关于正则表达式自身的语法这里不做过多介绍(详情可参见http://www.php100.com/manual/unze.html),这里仅仅解释javascript中和正则表达式相关的几个方 ...
- Python::re 模块 -- 在Python中使用正则表达式
前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细 ...
随机推荐
- linux中查看端口号使用情况
百度一圈,以下是整理来的操作命令. 1.netstat -anp |grep (端口号) 这个方法可以直观看到对应端口号是否被使用. 2.netstat -nultp 这个方法可以看到该机上所有以用的 ...
- oracle system,sys用户 忘记密码,怎么修改密码
sys用户是Oracle中权限最高的用户,而system是一个用于数据库管理的用户.在数据库安装完之后,应立即修改sys,system这两个用户的密码,以保证数据库的安全.但是我们有时候会遗忘密码或者 ...
- 从零开始安装搭建win10与ubuntu20.04双系统开发环境——集安装、配置、软件、美化、常见问题等于一体的——超详细教程
目录 **前言 ** 关于系统安装配置与软件安装 一.Win10安装ubuntu20.04双系统 1.按照自己的需求分区 2.配置软件镜像源 软件包管理工具介绍 更换APT源--使用国内镜像 3.解决 ...
- springmvc-02(配置版与注解版区别)
首先,我们来看配置版和注解版的相同步骤: 1.新建一个Moudle , springmvc-02-hello , 添加web的支持! 2.确定导入了SpringMVC 的依赖! 3.配置web.xml ...
- Bugku练习题---MISC---啊哒
Bugku练习题---MISC---啊哒 flag:flag{3XiF_iNf0rM@ti0n} 解题步骤: 1.观察题目,下载附件 2.下载以后发现是一张图片,从表面看没有什么有价值的信息 3.直接 ...
- SD卡之二:SD总线访问模式
SD 卡是以命令.回应.数据流进行通讯. 1.命令:命令的长度是48位,命令以'0'开始,第2位为'1'表示主机发往SD卡的命令,最后以CRC和结束位'1'结尾. 2.回应:回应的长度是48位或者13 ...
- ucore lab2 物理内存管理 学习笔记
总的来讲把的LAB1代码逻辑理顺后再往后学就轻松了一大截.LAB2过遍课程视频,再多翻翻实验指导书基本上就没遇到啥大坎儿.对这节学得东西做个总结就是一张图: 练习0:填写已有实验 本实验依赖实验1.请 ...
- windows 文件hash校验,字符串加密,base64转换工具
对下载的文件使用hash校验验证文件完整性 1 import hashlib 2 def md5(): 3 md5_value = hashlib.md5() 4 with open('C:\Inte ...
- python常用标准库(math数学模块和random随机模块)
常用的标准库 数学模块 import math ceil -- 上取整 对一个数向上取整(进一法),取相邻最近的两个整数的最大值. import math res = math.ceil(4.1) p ...
- 渗透:winpcap
winpcap(windows packet capture)是windows平台下一个免费,公共的网络访问系统.开发winpcap这个项目的目的在于为win32应用程序提供访问网络底层的能力.它提供 ...