常见c#正则表达式类学习整理
1.MatchCollection类
用于输入字符串所找到的成功匹配的集合,Regex.Matches 方法返回 MatchCollection 对象
用法
//str:要搜索匹配项的字符串 pattern:要匹配的正则表达式模式
MatchCollection matches = Regex.Matches(string str,string pattern) foreach (Match item in matches)
{
Console.WriteLine(item.Groups[].Value);
}
2.Match类
表示正则表达式匹配操作的结果。Match 类的 Match.Success 匹配是否成功。Match.Index 返回第一个匹配的位置。
完整控制台输出:(在文本中提取字符串)
public static void Main(string[] args)
{
string text = "I've found this amazing URL at http://www.sohu.com ,and then find ftp://ftp.sohu.com is better.";
string pattern = @"\b(\S+)://(\S+)\b"; //匹配URL的模式
MatchCollection mc = Regex.Matches(text, pattern); //满足pattern的匹配集合
Console.WriteLine("文本中包含的URL地址有:");
foreach (Match match in mc)
{
Console.WriteLine(match.ToString());
}
Console.Read();
}
3.Regex类
表示不可变(只读)的正则表达式,包含各种静态方法
Regex regex = new Regex(@"\d"); //定义Regex类的实例; regex.IsMatch("abc"); //判断一个字符串,是否匹配一个正则表达式 regex.Matches("abc123abc").Count; //获取匹配次数 Regex.Match(string).Groups[int].Value //捕获值 //去除<p></p>标签
string str ="<p>此处是内容qqqq</p><p>此处是内容wwwww</p>";
string regexstr = @"</?[p|P][^>]*>"; str = Regex.Replace(str, regexstr, string.Empty);
Console.Write(str);
Console.ReadKey();
4.Group类
表示来自单个捕获组的结果;(分组是要匹配的模式pattern用小括号括起来,分成不同的组)public static void Main(string[] args)
{
string text = "I've found this amazing URL at http://www.sohu.com ,and then find ftp://ftp.sohu.com is better.";
string pattern = @"\b(?<protocol>\S+)://(?<address>\S+)\b"; //匹配URL的模式,并分组
MatchCollection mc = Regex.Matches(text, pattern); //满足pattern的匹配集合 Console.WriteLine("文本中包含的URL地址有:");
foreach (Match match in mc)
{
GroupCollection gc = match.Groups;
string outputText = "URL:" + match.Value + ";Protocol:" + gc["protocol"].Value + ";Address:" + gc["address"].Value;
Console.WriteLine(outputText);
} Console.Read();
}
/**
* 运行后输出如下:
* 文本中包含的URL地址有:
* URL:http://www.sohu.com;Protocol:http;Address:www.sohu.com
* URL:ftp://ftp.sohu.com;Protocol:ftp;Address:ftp.sohu.com
*/
5.GroupCollection类
表示被捕获的组的集合,并在单个匹配项中返回该捕获组的集合
在 Match.Groups 属性返回的集合中返回。
常见c#正则表达式类学习整理的更多相关文章
- java工具类学习整理——集合
好久没有总结一些东西了,同时集合部分的知识点也学习的比较早了,但是从来没有抽时间去研究和学习,今天正好有时间就总结一下map常用的遍历方法: package runningwhile; import ...
- C# XML类学习整理(待补)
一.读取xml文件内容: #region "获取xml文件内容" //将xml文件加载进来 XDocument xdoc = XDocument.Load("F:\\6. ...
- HttpClient学习整理
HttpClient简介HttpClient 功能介绍 1. 读取网页(HTTP/HTTPS)内容 2.使用POST方式提交数据(httpClient3) 3. 处理页面重定向 ...
- TweenMax学习整理--特有属性
TweenMax学习整理--特有属性 构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- Java设计模式(学习整理)---命令模式
设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...
- Wix学习整理(4)——关于WiX文件格式和案例HelloWorld的分析
原文:Wix学习整理(4)--关于WiX文件格式和案例HelloWorld的分析 关于WiX文件格式 .wxs是WiX的源文件扩展名..wxs文件以类XML文件的格式来指定了要构造Windows In ...
- Wix学习整理(1)——快速入门HelloWorld
原文:Wix学习整理(1)--快速入门HelloWorld 1 Wix简介 Wix是Windows Installer XML的简称,其通过类XML文件格式来指定了用于创建Windows Instal ...
- 《AngularJS学习整理》系列分享专栏
<AngularJS学习整理>系列分享专栏 <AngularJS学习整理>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/re ...
随机推荐
- STL使用————SET&MULTISET
SET函数的基本用法 by hhl 使用set的好处 1. 当增加元素后,集合会自动删重并从小到大排列(时间比快排还快)2. 相当于一棵伸展树(能快速求出后继) 使用基础 #include<se ...
- 推荐putty远程工具背景效果
设置高亮显示及其行号 syntax on set number 然后设置putty显示背景 如图 感觉这种效果比较舒适 推荐推荐
- POJ 1682 DP
原创: http://www.cnblogs.com/proverbs/archive/2012/10/03/2711151.html 超高仿: http://blog.csdn.net/mars_c ...
- 2015合肥网络赛 HDU 5492 Find a path 动归
HDU 5492 Find a path 题意:给你一个矩阵求一个路径使得 最小. 思路: 方法一:数据特别小,直接枚举权值和(n + m - 1) * aver,更新答案. 方法二:用f[i][j] ...
- 关于viewport详解
- dos 实用命令搜集
dos 命令: 1.netstat -an 2.XP下打开凭证管理: control keymgr.dll 3.刷新DHCP协议,重新自动获取IP * ipconfig/release 命令来丢 ...
- angularjs之手机输入法回车变搜索,并触发事件,兼容pc回车事件
一.效果:回车按钮变搜索 之前的输入法: 之后的输入法: 二.功能实现 <input type="search" id="search_input" pl ...
- Flask--Python中常用的Web框架之一
Web框架 什么是框架? 协助开发者快速开发web应程序的一套功能代码 开发者只需要按照框架约定要求,在指定位置写上自己的业务逻辑代码即可 为什么要用web框架? 使用web框架的主要目的就是避免重复 ...
- Android Studio使用Mob来获取手机验证码加上倒计时
再根据上编的基础上再添加倒计时即可 添加一个类TimeCountUtil package zhu.com.yzm4; import android.os.CountDownTimer; import ...
- 轻松使用 Redis slowlog
之前中秋项目搞活动,用户比较活跃 SE.Redis 频繁报 Timeout 异常,狂翻了一波 issues 发现提这个问题还蛮多的,作者非常频繁的提到使用 slowlog 这个命令进行排查,那么问题就 ...