C#中如何使用正则表达式
【草稿版本,谨慎阅读】
参考文档:正则表达式30分钟入门教程
如需系统学习正则表达式内容,请移步上述教程。
正则表达式按照指定的规则来匹配字符或字符串。'.' ' \b' ' \d'等等被称为是正则表达式中的元字符,比如说点元字符用来匹配换行符以外的其他任意字符,\b元字符用来匹配单词,\s元字符用来匹配空格等等。
正则表达式转换:
Show you the code:(\S)
string input = "I is Lily.";
string pattern = @"\s+";
string replacement = " ";
string result = Regex.Replace(input, pattern, replacement); Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
\s用来匹配空格,而\s+则是用来匹配一个或多个和空格,如代码所示,将一个或多个空格,替换成一个空格,运行效果如图:

Show you the code:(\b)
string input = "I is Lily.";
string pattern = @"\bis\b";
string replacement = "am";
string result = Regex.Replace(input, pattern, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
\b用来匹配单词,则\bis\b用来匹配单词is,并将is替换成am,运行效果如图:

Show you the code:(.*)
input = "Sis a girlD";
pattern = @"is\b.*\bgirl";
replacement = "*";
result = Regex.Replace(input, pattern, replacement);
Console.WriteLine("Original String: {0}", input);
Console.WriteLine("Replacement String: {0}", result);
.*用来匹配任意数量的非换行字符,则pattern匹配以is开头girl结尾,且is后面和girl前面必须紧邻空格的字符串,运行效果如图:

验证正则表达式是否匹配:
Show you the code:(\d)
string phone = "";
string pattern = @"1\d{10}";
bool result = false;
Console.WriteLine("请输入你的手机号码");
do
{
phone = Console.ReadLine();
result = Regex.IsMatch(phone, pattern);
if (!result)
Console.WriteLine("BadNum,try again");
} while (!result);
Console.WriteLine("Good");
\d用来匹配一位数字,则d{10}用来匹配10位数字,运行效果如下:

持续更新中...
常见正则表达式元字符:
1:\w 匹配任意的字母,数字或者下划线,则\w+匹配一位或多位字符、数字等。
C#中如何使用正则表达式的更多相关文章
- ORACLE中的支持正则表达式的函数
ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBS ...
- js中几个正则表达式相关函数使用时g标志的作用
首先,javascript中涉及到正则表达式的函数总共有6个,可分为两种: 1.第一种是作为字符串对象的方法,即以 String.fun(); 形式调用,这里包括 split.search.match ...
- C#中Spli、正则表达式分解字符串详解
一.String.Split方法提供了如下6个重载函数: 名称 说明 String.Split (Char[]) 返回包含此实例中的子字符串(由指定 Char 数组的元素分隔)的 String 数组. ...
- php中常用的正则表达式函数
php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...
- C#中,使用正则表达式匹配获取所需数据
.NET中,使用正则表达式匹配获取所需数据 需求:获取一串字符串中,正则匹配出需要的数据. 例如以下字符串: string temp ="ErrorCode:-1,Message:{&quo ...
- * 和 ?在 shell 命令行中与在正则表达式中的区别
Linux 正则表达式 你有没有想过,在 shell 命令行中的 *,?和正则表达式中的*,?是否一样? 自打好多年前接触 DOS,就知道了* 和?这两个通配符(Wildcard),象 dir *.* ...
- PHP中的常用正则表达式集锦
PHP中的常用正则表达式集锦: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xf ...
- Visual Studio 中使用的正则表达式 说明
Visual Studio 中使用的正则表达式 说明 2013-10-11 21:10:12| 分类: VB和VBA知识|举报|字号 订阅 参考:详解Visual Studio正则替换大 ...
- Snort中pcre和正则表达式的使用
Snort中pcre和正则表达式的使用 1. 题目描述 If snort see two packets in a TCP flow with first packet has "login ...
- JMeter中的关联-正则表达式提取(2)
JMeter获取正则表达式中的提取的所有关联值的解决方法: 需求如下: { : ", : "results": : [ : : { : : : "total_e ...
随机推荐
- tarjan有向图的强连通
强连通:在有向图G中,两个顶点间至少存在一条路径,则两个点强连通. 强连通图:在有向图中,每两个顶点都强连通,则有向图G就是一个强连通图. 强连通分量:在非强连通图中的极大强连通子图,就称为强连通分量 ...
- SpringMVC中Freemarker获取项目根目录
https://blog.csdn.net/whatlookingfor/article/details/51538995 在SpringMVC框架中使用Freemarker试图时,要获取根路径的方式 ...
- EF架构处理
1,edmx 从数据库更新模型-选中表-根据模型生成数据库 清理解决方案,重新生成解决方案
- 牛客国庆集训派对Day_4~6
Day_4 A.深度学习 题目描述 小 A 最近在研究深度学习,他自己搭建了一个很牛逼的神经网络,现在他手头一共有 n 组训练数据,一开始他会给自己的神经网络设置一个 batch size,假设为 B ...
- Linux下mysql新建账号及权限设置各种方式总结
来自:http://justcoding.iteye.com/blog/1941116 1.权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连接服务器A以进行数据库操作,需要服务 ...
- JVM内存配置参数-XMX,-XMS,-XMN的例子
转载:http://www.nowcoder.com/questionTerminal/093bfa948d144ce3b0a68b938ae8b4ec 对于JVM内存配置参数: -Xmx10240m ...
- checkbox:全选、全不选、单选(慕课网题目)
任务 1.在第27行处补充完整,实现当点击"全选"按钮时,将选中所有的复选项. 提示:document.getElementsByTagName("input" ...
- 正则表达式中的?=,?!,?<=,?<!(预查)解释小栗子
之前在学正则表达式的时候学的并不是很透彻 感觉看看元字符(元字符要用 \ 转义),限定符(^开头 $结尾), 前面写个范围[a-z],在后面写个{n,}能匹配就行了 当时的自己 然而昨天我参加了个 ...
- 动态栅格(DEM)图层实现服务端渲染
PS:此处动态图层指,图层文件都放在经过注册的文件目录里,可以通过文件名动态加载图层 动态加载的矢量图层,可以实现客户端和服务端的定制渲染,但栅格一般是不能再渲染的,以下介绍可行的方法 建立一个很简单 ...
- java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码
java实现批量修改指定文件夹下所有后缀名的文件为另外后缀名的代码 作者:Vashon package com.ywx.batchrename; import java.io.File; import ...