更新记录

本文迁移自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#中使用正则表达式最简单的方式的更多相关文章

  1. js中如何以最简单的方式将数组元素添加到对象中

    //如题,通常做法就是循环数组,最后在添加length属性,如: var obj = {}; var pushArr = [11,22,33,44,55,66]; for(var i=0;i<p ...

  2. 在Python中使用正则表达式同时匹配邮箱和电话并进行简单的分类

    在Python使用正则表达式需要使用re(regular exprssion)模块,使用正则表达式的难点就在于如何写好p=re.compile(r' 正则表达式')的内容. 下面是在Python中使用 ...

  3. (转)Java中使用正则表达式的一个简单例子及常用正则分享

    转自:http://www.jb51.net/article/67724.htm 这篇文章主要介绍了Java中使用正则表达式的一个简单例子及常用正则分享,本文用一个验证Email的例子讲解JAVA中如 ...

  4. UltraEdit中使用正则表达式-简单用法

    UltraEdit中使用正则表达式 1.认识正则表达式语法: 正则表达式 (UltraEdit Syntax): % 匹配行首 - 表明要搜索的字符串一定在行首. $ 匹配行尾 - 表明要搜索的字符串 ...

  5. PHP中有关正则表达式的函数集锦

    之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...

  6. JavaScript中的正则表达式(终结篇)

    JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...

  7. Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理

    博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...

  8. javascript中的正则表达式学习

    一.前言 关于正则表达式自身的语法这里不做过多介绍(详情可参见http://www.php100.com/manual/unze.html),这里仅仅解释javascript中和正则表达式相关的几个方 ...

  9. Python::re 模块 -- 在Python中使用正则表达式

    前言 这篇文章,并不是对正则表达式的介绍,而是对Python中如何结合re模块使用正则表达式的介绍.文章的侧重点是如何使用re模块在Python语言中使用正则表达式,对于Python表达式的语法和详细 ...

随机推荐

  1. Java基础之浅谈接口

    前言 前几篇文章我们已经把Java的封装.继承.多态学习完了,现在我们开始比较便于我们实际操作的学习,虽然它也是Java基础部分,但是其实入门容易,精通很难. 我认真的给大家整理了一下这些必须学会.了 ...

  2. 机器学习---kmeans聚类的python实现

    """ Name: study_kmeans.py Author: KX-Lau Time: 2020/11/6 16:59 Desc: 实现kmeans聚类 " ...

  3. SSM实现个人博客-day03

    项目源码免费下载:SSM实现个人博客 有问题请循环vx:kht808 3.相关包与实体类的创建 1.包名与路径如下: 2.实体类的编写 Blog类 public class Blog implemen ...

  4. Java学习day8

    今天学习了package,import,final,static和多态 package可以理解为文件夹,因为有些类可能重名,如果在同一个目录下就无法正常实现,所有需要有不同的包来装对应的类 Java出 ...

  5. 一键智能Mock,你值得拥有

    ​ 大家好呀,我是一名苦逼的前端开发工程师,为啥苦逼呢,这不,项目下周就要上线了,但是后端还没给我接口,没有接口我就无法调试,工作停滞不前,我也只能坐着干着急. 我报告给了我的老板山哥: 老板,这后端 ...

  6. AcWing周赛43

    AcWing周赛43 题源:https://www.acwing.com/activity/content/1233/ 4314. 三元组 直接暴力做就是了,我一开始还在找规律..悲 我滴代码 #in ...

  7. DOS攻击(一)

    DOS攻击(一) 介绍 DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务.最常见的DoS攻击有计算机网络带宽 ...

  8. CoAP调试工具 Mozi.IoT.CoAP

    前言 CoAP是一种类HTTP协议的物联网专用协议,其数据包为人类不可阅读的字节流形式,在开发相关应用的时候往往不能准确的了解数据包的内容.故需要专用的调试工具对数据和通讯进行调试. CoAP协议介绍 ...

  9. Homomorphic Evaluation of the AES Circuit:解读

    之前看过一次,根本看不懂,现在隔这么久,再次阅读,希望有所收获! 论文版本:Homomorphic Evaluation of the AES Circuit(Updated Implementati ...

  10. k8s入门之PV和PVC(八)

    某些应用是要持久化数据的,如果直接持久化在pod所在节点,当pod因为某种原因重建或被调度另外一台节点,是无法访问到之前持久化的数据,所以需要一个公共存储数据的地方,无论pod删除重建或重新调度到其他 ...