从基础做起,c#正则表达式的入门教程介绍来源: 发布时间:星期三, 2008年8月13日 浏览:2160次 评论:0
正则表达式处理字符非常方便,代码对初学者来看确实感到有一定的难度,其实从入门来说,并没有想象中的麻烦,大家记得搜索文件夹时候的*号匹配符吗,可以把正则表达式看做为具有一定规则的匹配符好 先给个示例: 比如在文章中匹配<a href='http://www.crazycoder.cn/'>疯狂代码</a>,那么正则表达式可以如下来写: <a href='http://\w+.\w+.\w+/'>[^<]+</a> \w+.\w+.\w+匹配www.crazycoder.cn [^<]+ 匹配疯狂代码(表示非<的所有字符) 突然看起来有点麻烦,我们先从基础来说起 什么是正则表达式正则表达式是用来检验和操作字符串的强大工具。简单的理解正则表达式可以认为是一种特殊的验证字符串。正则表达式常见运用是验证用户输入信息格式,比如上面的那组“\w{1,}@\w{1,}\.\w{1”,实际上就是验证邮件地址是否合法的;当然正则表达式不仅仅是用于验证,可以说只要运用字符串的地方都可以使用正则表达式; 涉及的基本的类正则表达式在英文中写作(Regular Expression),根据正则表达式的使用范围和单词意思,.NET将其命名空间设置为System.Text.RegularExpressions; 在该命名空间内包括了8个基本的类:Capture、CaptureCollection、Group、GroupCollection、Match、MatchCollection、Regex和RegexCompilationInfo如图1所示;
注意: 本文属于初学正则表达式的入门文章,对于高级的分组(Group)及其涉及语法等在这里不做介绍;
字符匹配语法:
重复匹配语法:
字符定位语法:
转义匹配语法:
构造正则表达式需要涉及Regex类,在Regex类中包括:IsMatch()、Replace()、Split()和Match的类; (1) IsMatch()方法; IsMatch()方法实际上是一个返回Bool值得方法,如果测试字符满足正则表达式返回True否则返回False;
(2) Replace()方法; Replace()方法实际上是一种替换的方法,替换匹配正则表达式匹配模式;
(3) Split()方法; Split()方法实际上是拆分的方法,根据匹配正则表达式进行拆分储存在字符串数组中;
构建表达式基本方法构造Regex对象的构造函数包括两个重载,一个是不含参数的构造、另外一个是含有参数的构造函数;
补充:RegexOptions属于枚举类型,包括IgnoreCase(忽略大小写)、ReghtToLeft(从右向左)、None(默认)、CultureInvariant(忽略区域)、Multline(多行模式)和SingleLine(单行模式);
编写一个检验程序为了方便自己在学习正则表达式和快速检验自己编写表达式语句是否正确,下面提供一个IsMatch()方法正则表达式验证器编写;
如下: 我们对照开篇第一个正则表达式 <a href='http://www.crazycoder.cn/'>疯狂代码</a> <a href='http://\w+.\w+.\w+/'>[^<]+</a> \w+.\w+.\w+匹配www.crazycoder.cn [^<]+ 匹配疯狂代码(表示非<的所有字符)
2
相关文章
读者评论
发表评论 |