码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式——基础知识

时间:2014-10-29 18:29:41      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:style   ar   sp   strong   on   bs   ef   size   har   

正则表达式用于对字符串进行匹配。

一:匹配模式文本:

正则表达式的匹配模式文本常包括以下内容:

元字符:拥有特殊含义的字符;

元字符  说明
 .  匹配除换行符以外的任意字符
 \w  匹配字母、数字;C#中还支持汉字;等价于[a-zA-Z0-9]
\W   与上相反,匹配非数字字母;等价于[^a-zA-Z0-9]
\s   匹配空白字符
\S   与上相反,匹配非空白字符
\d   匹配数字 
\D   与上相反,匹配非数字 
\b   匹配单词开始或者结束的位置
\B   与上相反,匹配非单词开始或者结束的位置
^  匹配字符串开始的位置
 匹配字符串结束的位置 

 

表示重复次数的:

类别 说明
 ?  表示左边的部分重复0次或者1次
 表示左边的部分重复0次或者多次
+  表示左边的部分重复1次或者多次
{min, max}  表示左边的部分重复min次到max次
{min, }  表示左边的部分重复最少min次
{num}  表示左边的部分重复num次

表示分组的:

类别 语法 说明
捕获 (abc) 匹配abc,并捕获文本到自动命名的组里;或者表示重复次数适用哪些模式文本,
(?<name>abc) 匹配exp,并捕获文本到名称为 name 的组里,也可以写成(?’name’exp)
(?:abc) 匹配exp,不给分组分配组号,也不捕获匹配文本;但不影响分组0
     
断言 (?=abc) 匹配abc前面的,但是不匹配abc,即文本后面必须有abc,但分组0不会获得abc。
(?<abc) 匹配abc后面的,但是不匹配abc,即文本前面必须有abc,但分组0不会获得abc。
(?!abc) 匹配文本后面不是abc的,但不匹配abc,分组0不会获得abc。
(?<! abc) 匹配文本前面不是abc的,但不匹配abc,分组0不会获得abc。
     
注释 (?#comment) 注释
     

 

其他:

类别 说明
[abc] 匹配括号中的abc中的任意一个(必须要匹配一个字符)
[^abc] 匹配除括号中字符以外的一个字符(必须要匹配一个字符)
| 表示 或;匹配 | 前面的模式 或 后面的模式
\char 匹配特殊字符,如\*匹配*;\?匹配?
   

 

\num 反向引用 表示第num个捕获型括号捕获的文本(括号计数是按照左括号出现的顺序算的,注意嵌套括号)

 

正则表达式——基础知识

标签:style   ar   sp   strong   on   bs   ef   size   har   

原文地址:http://www.cnblogs.com/SunBlog/p/4059838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!