知识大全 C#正则表达式整理备忘(1)
Posted 字符
篇首语:生活只有在平淡无味的人看来才是空虚而平淡无味的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#正则表达式整理备忘(1)相关的知识,希望对你有一定的参考价值。
C#正则表达式整理备忘(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
有一段时间 正则表达式学习很火热很潮流 当时在CSDN一天就能看到好几个正则表达式的帖子 那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识 同时也为我在CSDN大概赚了 分 今天想起来 去找《C#字符串和正则表达式参考手册》时 已经不知所踪了 现在用到正则的时候也比较少 把以前的笔记等整理一下 以志不忘
( ) @ 符号符下两ows表研究室的火热 当晨在 @ 虽然并非C#正则表达式的 成员 但是它经常与C#正则表达式出双入对 @ 表示 跟在它后面的字符串是个 逐字字符串 不是很好理解 举个例子 以下两个声明是等效的 string x= D \\\\My Huang\\\\My Doc ;string y = @ D \\My Huang\\My Doc ;事实上 如果按如下声明 C#将会报错 因为 \\ 在C#中用于实现转义 如 \\n 换行 string x = D \\My Huang\\My Doc ;
( )基本的语法字符
\\d 的数字\\D \\d的补集(以所以字符为全集 下同) 即所有非数字的字符\\w 单词字符 指大小写字母 的数字 下划线\\W \\w的补集\\s 空白字符 包括换行符\\n 回车符\\r 制表符\\t 垂直制表符\\v 换页符\\f \\S \\s的补集 除换行符\\n外的任意字符[…] 匹配[]内所列出的所有字符[^…] 匹配非[]内所列出的字符下面提供一些简单的示例
string i = \\n ; string m = ; Regex r = new Regex(@ \\D ); //同Regex r = new Regex( \\\\D ); //r IsMatch(i)结果 true //r IsMatch(m)结果 false string i = % ; string m = ; Regex r = new Regex( [a z ] ); //匹配小写字母或数字字符 //r IsMatch(i)结果 false //r IsMatch(m)结果 true
( )定位字符 定位字符 所代表的是一个虚的字符 它代表一个位置 你也可以直观地认为 定位字符 所代表的是某个字符与字符间的那个微小间隙
^ 表示其后的字符必须位于字符串的开始处$ 表示其前面的字符必须位于字符串的结束处\\b 匹配一个单词的边界\\B 匹配一个非单词的边界另外 还包括 \\A 前面的字符必须位于字符处的开始处 \\z 前面的字符必须位于字符串的结束处 \\Z 前面的字符必须位于字符串的结束处 或者位于换行符前下面提供一些简单的示例
string i = Live for nothing die for something ; Regex r = new Regex( ^Live for nothing die for something$ ); //r IsMatch(i) true Regex r = new Regex( ^Live for nothing die for some$ ); //r IsMatch(i) false Regex r = new Regex( ^Live for nothing die for some ); //r IsMatch(i) true string i = @ Live for nothing die for something ;//多行 Regex r = new Regex( ^Live for nothing die for something$ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing die for something$ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing \\r\\ndie for something$ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing $ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing $ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing \\r\\n$ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing \\r\\n$ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing \\r$ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing \\r$ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^die for something$ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^die for something$ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( $ ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( $ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex( ^Live for nothing \\r$\\n^die for something$ RegexOptions Multiline); Console WriteLine( r match count: + r Matches(i) Count);// //对于一个多行字符串 在设置了Multiline选项之后 ^和$将出现多次匹配 string i = Live for nothing die for something ; string m = Live for nothing die for some thing ; Regex r = new Regex(@ \\bthing\\b ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex(@ thing\\b ); Console WriteLine( r match count: + r Matches(i) Count);// Regex r = new Regex(@ \\bthing\\b ); Console WriteLine( r match count: + r Matches(m) Count);// Regex r = new Regex(@ \\bfor something\\b ); Console WriteLine( r match count: + r Matches(i) Count);// //\\b通常用于约束一个完整的单词
( )重复描述字符 重复描述字符 是体现C#正则表达式 很好很强大 的地方之一 n 匹配前面的字符n次n 匹配前面的字符n次或多于n次n m 匹配前面的字符n到m次? 匹配前面的字符 或 次+ 匹配前面的字符 次或多于 次* 匹配前面的字符 次或式于 次以下提供一些简单的示例
cha138/Article/program/net/201311/15538相关参考
C#正则表达式整理备忘(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ()回溯与非回溯
C#中的常用正则表达式总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这是我发了不少时间整理
C#使用正则表达式去除html标记 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C#使用正则表
VisualC#2005中使用正则表达式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 正则表达
C#验证邮件的正则表达式的代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 验证输入的正确性
C#正则表达式判断输入日期格式是否正确 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ///&l
C#中正则表达式进行忽略大小写的字符串替换 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在C#
C#正则表达式编程(四):正则表达式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 提供了功能强
.NET下正则表达式应用四例[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C#代码示例S
本篇文章是对js中正则表达式的使用进行了详细的分析介绍需要的朋友可以参考下 js中的正则表达式比起C#中的正则表达式要弱很多但基本够用了定义正则表达式关于验证的三个这则表达式方法正则表达