C#正则表达式(1):入门简介

原创 2012年06月14日 15:19:32

刚接触正则表达式时可能会觉得很晕乎.其实它的作用是很简单的,只不过实现的细节方面有些复杂.正则表达式是用来解析字符串的.而解析字符串不外乎是达到下面几种目的

 

1.验证某一长串字符串中是否有符合某个条件的子字符串

2.从长字符串中提取符合某个条件的子字符串

3.把符合条件的子字符串替换成另外的字符串

4.把一个字符串分割成几个小字符串

 

正则表达式的复杂主要是体现在怎么指定那个"条件".其实实现上面说的4个目的大部分时候用string类的一些函数也照样能实现.只不过有时太复杂了点

下面举几个简单的例子说下怎么实现上面的4个目的.使用正则表达式时要引用命名空间using System.Text.RegularExpressions;

1.验证字符

假如有字符串string str = "I am arwen";我们想验证下这个字符串里是否包含字符"wen".

用正则表达式:  bool exist = Regex.IsMatch(str, "wen");

用string类的函数:bool exist = str.Contains("wen");

2.提取字符

假如有字符串string str ="ahttpp://www.baidu.com/s?tn=sitehao12";我们想把字符www.baidu.com提取出来

用正则表达式:string subStr = Regex.Match(str, @"w{3}\..*\.com").Value;

用string类的函数:

int start = str.IndexOf("w");

int end = str.IndexOf("m");

string subStr = str.Substring(start, end - start + 1);

随着问题的复杂我们发现string类的函数就有点力不 从心了.假如是随便给一段未知的字符串,然后要求提取出一个网址来.用string类函数实现起来很复杂而且容易出错

而用上面那句简单的正则表达式就能正确的提取.

3.替换字符

还是和上面类似的例子,假如随便给一段字符串,把里面的网址替换成www.csdn.net

假设还是字符串string str ="ahttpp://www.baidu.com/s?tn=sitehao12";

用正则表达式.

string newStr = Regex.Replace(str, @"w{3}\..*\.com", "wwww.csdn.net");

这个用string的函数实现起来就更麻烦了啊.这里就不用它来实现了.反正思路就是要先搜索出字符串里的网址,再把它替换成www.csdn.net

 

4.分割字符

假如有字符string str = "http:ww/w.baidu.com";要以: / .这样的符号为分割符,把字符分割成只包含字母的子字符串

用正则表达式:

string[] strs = Regex.Split(str, @"[:/\.]");

用string类的函数

string[] strs = str.Split(new char[] { ':', '/', '.' });

 

 

 在上面的例子中我们会看到@"w{3}\..*\.com" 和@"[:/\.]这样奇怪的字符串,我们一般把它们叫作模式(pattern),也就是说通过它来指明要符合某个条件.在正则表达式的应用中最难的地方就是怎么通过它们来指定条件.其中的符号都有特殊的含义

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

C#正则表达式(5):命名空间System.Text.RegularExpressions下面的类简介1

在命名空间RegularExpressions里有下面这些对象,10个类,一个代理,一个枚举类型 Classes   Class Description Ca...

C#正则表达式(5):命名空间System.Text.RegularExpressions下面的类简介2

类Match ,MatchCollection   我们通过某个条件去匹配字符串时,有时会得到几个符合条件的子字符串. 如果只想要第一次匹配到的子字符串就用函数Regex.Match().这个函...

C#正则表达式30分钟入门教程

  • 2012年12月13日 21:46
  • 136KB
  • 下载

C#正则表达式快速入门

[介绍]作者将自己在学习正则表达式中的心得和笔记作了个总结性文章,希望对初学C#正则表达式的读者有帮助。 [内容]什么是正则表达式涉及的基本的类正则表达式基础知识构建表达式基本方法编写一个检验程序参考...

C# 1小时看懂正则表达式

C# 正则表达式 正则表达式的作用: 在大的字符串中定位一个子字符串。(system.Text.RegularExpressions声明,expressions是表达式的意思。) 使用正则表达式...

阅读笔记:《C#字符串和正则表达式参考手册》 1-4章部分代码

#region P8:判断字符是标点、空白字符?             /*              string band = "The band";             Consol...

Python爬虫—1入门_4_正则表达式

1、python中的正则表达式相关介绍 1.1 转义字符      注意使用原始字符串,以r开头的字符串,如r"python";      当需要匹配 . \ * + 等特殊的字符时,需要在这些...

【正则】正则表达式入门(1)数字和通配符

一、说明 正则匹配是一项非常强大的功能,其可以帮你匹配字符串中的特定格式的部分,从而获取到你想要的内容,请看如下示例: 1、数字 2、字符 3、其它 事先说明: 菜鸟教程上用的是JavaS...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#正则表达式(1):入门简介
举报原因:
原因补充:

(最多只允许输入30个字)