标签:
谈到C#正则表达式,标题还是有点偏了,正则表达式是所有语言都支持,不仅仅是C#,但是正则表达式的定义确实变化多样,不能表达式实现不同效果:
正则表达式的基础知识:
/******************************************常用元字符********************************************************/
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
/*******************************************常用限制符******************************************************/
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
/*******************************************常用反义词*******************************************************/
代码/语法 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
/******************************************实用码参考********************************************************/
正则表达式常用的功能点:
1、匹配元素抓取想要的结果,一般用于数据采集和网页分析;
2、数据验证;
简单举例说明正则表达式用处:
代码实现功能说明:
验证用户输入数据格式是:23:15-23:00或者23:15-23:00;23:15-23:00;23:15-23:00 这样的数据格式
代码如下:(正则表达式是重点)
static void Main(string[] args) { MatchCollection martcollcect = new Regex(@"(^\d{2}:\d{2}-\d{2}:\d{2};$)").Matches("23:15-25:16;23:15-25:16;23:15-25:16"); bool resultBook = RegexCheckTime("23:15-25:16;23:15-25:16;23:15-25:16"); resultBook = RegexCheckTime("23:15-23:16;as:15-23:16;23:15-23:16"); resultBook = RegexCheckTime("23:15-23:16;23:15-23:16;23:15-22:16"); resultBook = RegexCheckTime("23:15-23:16"); } /// <summary> /// 验证时间格式是:23:15-25:16;03:15-25:16模式 /// </summary> /// <param name="inputcontext"></param> /// <returns></returns> public static bool RegexCheckTime(string inputcontext) { string regparm = @"^(([0-1]\d|2[0-3]):([0-5]\d)-([0-1]\d|2[0-3]):([0-5]\d);)*([0-1]\d|2[0-3]):([0-5]\d)-([0-1]\d|2[0-3]):([0-5]\d)$"; Regex rg = new Regex(regparm); return rg.IsMatch(inputcontext); }
正则参考语法:
http://www.cnblogs.com/youring2/archive/2009/11/07/1597786.html
标签:
原文地址:http://www.cnblogs.com/xibei666/p/4611321.html