正则表达式
正则表达式以前是用以数学方面的,现在、 正则表达式是一种模式匹配的方法,主要用来查找子串、将某个子串提取出来或者进行替换
- 其实正则表达式主要是用来比较精准的匹配的。匹配的原理其实就是用定义好的 reStr 去匹配字符串。
常用的元字符
元字符 | header 2 |
---|---|
^ | 开始符 |
$ | 结束符 |
\ | 转义字符比如\n, \ ( |
? | 表示[0,1] |
+ | 表示[1,+∞] |
* | 表示[0,+∞] |
{n,m} | 表示n个到m个[n,m] |
a-z | 小写字母 |
A-Z | 大写字母 |
0-9 | 数字 |
. | |
\w | 匹配包括下划线的任何单词字符。等价于[A-Za-z0-9_] |
\d | 匹配数字 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等 |
\S | 匹配任何非空白字符 |
\u4e00-\u9fa5 | 简体中文 |
断言
类型 | 方式 |
---|---|
先行断言 | x(?=y) |
先行否定断言 | x(?!y) |
后行断言 | (?<=y)x |
后行否定断言 | (?<!y)x |
算符
算符 | 优先级 |
---|---|
\ | 第一优先级 |
()、[] | 第二优先级 |
用上述的字符来进行组合出我们需要匹配的规格,就可以匹配相应的串了。
C#中的正则表达式使用
c#中提供了正则表达式的处理类Regex
- IsMatch方法
public bool IsMatch(string inputText,string regexText)
返回一个bool表示inputText是否匹配regexText
public bool IsMatch( string input )
表示input中是否有匹配的串
public bool IsMatch(string input,int startInt)
表示从某个位置开始匹配
- Matches方法收集所有的匹配子串
public MatchCollection Matches( string input )
在字符串input中搜索正则表达式的匹配串
- Replace方法
public string Replace(string input,string replaceText)
将所有的匹配字符串,替换成指定的字符串replaceText
- Split方法
public string[] Split(string input)
网友评论