c#正则表达式入门

本文以示例的形式进行分布讲解:

string Pattern = @"\bn";
(1)\b表示以什么字母开头的字符串,\bn表示以n开头的字符
(2)如果不加@,则会理解为退格+n的字符串。
同样的道理
string Pattern = @"ion\b";
表示以ion结尾的字符。

string Pattern = @"\ba\S*ion\b";
(1)表示以a开头,以ion结尾的
(2)*表示任意字符,但是必须依托于具体的字符,\S表示不是空白的字符,注意不是空字符串,这样限制后,则表示是以a开头,ion结尾的,中间可以是任意不能为空白字符的字符。


^    输入文本的开头     $     输入文本的结尾
.    除了换行字符(\n)以外的所有单个字符   *       可以重复0次或多次的前导字符
+    可以重复1次或多次的前导字符          ?       可以重复0次或1次的前导字符
\s   任何空白字符                         \S      任何不是空白的字符
\b   字边界                               \B      不是字边界的位置
\BX\B  字中间的任何X
ion\b   以ion结尾的任何字
\SF      aF、rF、cF、但不能是\tf
ra*t     rt、rat、raat和raaat等


(1)可以使用转义字符,例如要搜索“.”,则可以使用“\.”
(2)可以把可替换的字符放在方括号中,请求匹配包含这些字符。例如,[1|c]表示字符可以是l或c。如果要搜索map或man,可以使用序列ma[n|p]。
(3)在方括号中,也可以指定一个范围,
         例如[a-z]表示所有的小写字母,
                 [A-E]表示A到E之间的所有大写字母,
                 [0-9]表示一个数字。
(4)如果要搜索一个整数(该序列只包含0到9的字符),就可以编写[0-9]+(注意,使用+字符表示至少要有这样一个数字,但可以有多个数字,所以9、 83和 854等都是匹配的)。


限定符
{ n }
指定恰好 n 个匹配;例如 (pizza){2}。

{ n ,}
指定至少 n 个匹配;例如 (abc){2,}。

{ n , m }
指定至少 n 个但不多于 m 个匹配。例如(abc){2,3}



补充占位符
\w 相当于a-z或者A-Z或者0-9或者_的任何字符。 \w 等效于 [a-zA-Z_0-9]。

\W 相当于不是a-z或者A-Z或者0-9或者_的任何字符。则 \W 等效于 [^a-zA-Z_0-9]。

规则

^                 输入文本的开头

$                  输入文本的结尾

.                   除了换行字符(\n)以外的所有单个字符

 *                 可以重复0 次或多次的前导字符

+                  可以重复1 次或多次的前导字符

?                   可以重复0 次或1 次的前导字符

\s                 任何空白字符

\S                  任何不是空白的字符

\b                字边界

\B                不是字边界的位置

 

举例

 

 

^B                B,但只能是文本中的第一个字符

X$                 X, 但只能是文本中的最后一个字符

i.ation           isation、ization

ra*t              rt、rat、raat 和raaat 等

ra+t             rat、raat 和raaat 等(但不能是rt)

ra?t             只有rt 和 rat 匹配

\sa               [space]a、\ta、\na(\t 和\n 与C#的\t 和\n 含义相同)

\SF               aF、rF、cF、但不能是\tf

ion\b             以ion 结尾的任何字

\BX\B             字中间的任何X

 

 

具体事例:

 

1:【数字、       单个】例如 01                                               
                          --2:【数字、       分组】例如 73,73,73              
                          --3:【数字           分隔】例如 06-07
                          --4:【字符    单个字符】例如 A
                          --5:【字符、字符数字】例如 A00                                            
                          --6:【字符、字符分隔】例如 A15.0-A15.3
                          --7:【字符、分隔分组】例如 Q00-Q04,Q06-Q07
                          --8:【字符、       分组】例如 S02,S12,S22,S32,S42,T52

1.   \d
2.   @"^(\d+\,)*\d\b$"
3.   @"^\d+\-\d+$"
4.   @"^[a-zA-Z]{1}$"
5.   @"^[a-zA-Z]{1}\d+$"
6.   @"^[a-zA-Z]{1}\d+-[a-zA-Z]{1}\d+$"
7.   @"^([a-zA-Z]{1}\d+-[a-zA-Z]{1}\d+)+$"
8.   @"^([a-zA-Z]{1}\d+\,)*[a-zA-Z]{1}\d+\b$"

 

 

 

 

更详细请参见CSDN:http://blog.csdn.net/fatfoxz/archive/2010/01/14/5188675.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值