• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 浅谈C#中正则表达式的使用

浅谈C#中正则表达式的使用

作者:Qi Fei 字体:[增加 减小] 来源:互联网 时间:2017-05-28

Qi Fei 通过本文主要向大家介绍了C#正则表达式,正则表达式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的类(Regex、Match、Group等)。那么,什么是正则表达式,怎么定义正则表达式呢?

一、正则表达式基础

什么是正则表达式

在编写字符串的处理程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

通常,我们在使用WINDOWS查找文件时,会使用通配符(*和?)。如果你想查找某个目录下的所有Word文档时,你就可以使用*.doc进行查找,在这里,*就被解释为任意字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂。

一个简单的例子——验证电话号码

学习正则表达式的最好方法是从例子开始,下面我们从验证电话号码开始,一步一步的了解正则表达式。

在我们国家,电话号码(如:0379-65624150)通常包含3到4为以0开头的区号和一个7或8为的号码,中间通常以连字符'-'隔开。在这个例子中,首先我们要介绍一个元字符\d,它用来匹配一个0到9的数字。这个正则表达式可以写成:^0\d{2,3}-\d{7,8}$

我们来对他进行分析,0匹配数字“0”,\d匹配一个数字,{2,3}表示重复2到3次,-只匹配”-”自身,接下来的\d同样匹配一个数字,而 {7,8}则表示重复7到8次。当然,电话号码还可以写成 (0379)65624150,这里就交给读者完成。

元字符

在上面的例子中,我们接触到了一个元字符\d,正如你所想的,正则表达式还有很多像\d一样的元字符,下表列出了一些常用的元字符:

 

元字符

说明

.

匹配除换行符以外的任意字符

\b

匹配单词的开始或结束

\d

匹配数字

\s

匹配任意的空白符

\w

匹配字母或数字或下划线或汉字

^

匹配字符串的开始

$

匹配字符串的结束

表1、常用的元字符

 转义字符

如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没办法指定它们,因为它们会被解释成别的意思。这时你就得使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.

例如:unibetter\.com匹配unibetter.com,C:\\Windows匹配C:\Windows。

限定符

限定符又叫重复描述字符,表示一个字符要出现的次数。比如我们在匹配电话号码时使用的{3,4}就

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 浅谈C#中正则表达式的使用
  • C#中常用的正则表达式实例
  • C#使用正则表达式过滤html标签
  • C#中的正则表达式双引号问题
  • C#语法相比其它语言比较独特的地方(三)
  • C#语法相比其它语言比较独特的地方(二)
  • C#语法相比其它语言比较独特的地方(一)
  • C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法
  • C#正则表达式的递归匹配分析
  • C#正则表达式获取下拉菜单(select)的相关属性值

相关文章

  • 2017-05-28C#探秘系列(二)——IsXXX 系列方法
  • 2017-05-28C# ComboBox的联动操作(三层架构)
  • 2017-05-28asp.net获取系统当前时间的方法详解
  • 2017-05-28c#测试本机sql运算速度的代码示例分享
  • 2017-05-28英雄联盟辅助lol挂机不被踢的方法(lol挂机脚本)
  • 2017-05-28C# WinForm创建Excel文件的实例
  • 2017-05-28c#判断email地址是否为合法
  • 2017-05-28C# 拷贝数组的几种方法(总结)
  • 2017-05-28C#编写Windows服务实例代码
  • 2017-05-28WinForm DataGridView控件隔行变色的小例子

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • c#判断数据库服务器是否已经启动的方法
    • C#实现最完整的文件和目录操作类实例
    • Winform中进行MD5加密的实例
    • C#采用递归实现阶乘的方法
    • C#获取变更过的DataTable记录的实现方法
    • C#使用StreamReader读取文件的方法
    • C#实现对用户输入数据进行校验的类实例
    • c#单例模式(Singleton)的6种实现
    • C# RichTextBox制作文本编辑器
    • 时间字符串转换成日期对象datetime的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有