C# 正则表达式 使用介绍

为了避免以后这样的情况,在此记录下正则表达式的一些基本使用方法附带小的实例。让以后在使用时能一目了然知道他的使用,为开发节约时间,同时也分享给大家

正则元字符

  在说正则表达式之前我们先来看看通配符,我想通配符大家都用过。通配符主要有星号(*)和问号(?),用来模糊搜索文件。winodws中我们常会使用搜索来查找一些文件。如:*.jpg,XXX.docx的方式,来快速查找文件。其实正则表达式和我们通配符很相似也是通过特定的字符匹配我们所要查询的内容信息。已下代码都是区分大小写。

常用元字符

代码   说明  
.                        匹配除换行符以外的任意字符。  
\w   匹配字母或数字或下划线或汉字。  
\s    匹配任意的空白符。  
\d   匹配数字。  
\b   匹配单词的开始或结束。  
[ck]   匹配包含括号内元素的字符  
^   匹配行的开始。  
  匹配行的结束。  
\   对下一个字符转义。比如$是个特殊的字符。要匹配$的话就得用\$  
|   分支条件,如:x|y匹配 x 或 y。  

反义元字符

代码   说明  
\W                匹配任意不是字母,数字,下划线,汉字的字符。  
\S   匹配任意不是空白符的字符。等价于 [^ \f\n\r\t\v]。  
\D   匹配任意非数字的字符。等价于 [^0-9]。  
\B   匹配不是单词开头或结束的位置。  
[^CK]    匹配除了CK以外的任意字符。  

特殊元字符

代码   说明  
\f               匹配一个换页符。等价于 \x0c 和 \cL。  
\n   匹配一个换行符。等价于 \x0a 和 \cJ。  
\r   匹配一个回车符。等价于 \x0d 和 \cM。  
\t   匹配一个制表符。等价于 \x09 和 \cI。  
\v   匹配一个垂直制表符。等价于 \x0b 和 \cK。  

限定符

代码   说明  
*                         匹配前面的子表达式零次或多次。  
+   匹配前面的子表达式一次或多次。  
?   匹配前面的子表达式零次或一次。  
{n}   n 是一个非负整数。匹配确定的 n 次。  
{n,}   n 是一个非负整数。至少匹配n 次。  
{n,m}   m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。  

懒惰限定符

代码   说明  
*?                                                   

重复任意次,但尽可能少重复。

如 "acbacb"  正则  "a.*?b" 只会取到第一个"acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而"acbacb"最少字符的结果就是"acb" 。

 
+?   重复1次或更多次,但尽可能少重复。与上面一样,只是至少要重复1次。  
??  

重复0次或1次,但尽可能少重复。

如 "aaacb" 正则 "a.??b" 只会取到最后的三个字符"acb"。

 
{n,m}?  

重复n到m次,但尽可能少重复。

如 "aaaaaaaa"  正则 "a{0,m}" 因为最少是0次所以取到结果为空。

 
{n,}?  

重复n次以上,但尽可能少重复。

如 "aaaaaaa"  正则 "a{1,}" 最少是1次所以取到结果为 "a"。

 

捕获分组

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wfzzzs.html