c#
正则表达式
使用方法
位于System.Text.RegularExpressions下的Regex类下的一些方法
- bool IsMatch(string input, string pattern);
判断input串是否符合正则表达式pattern - Match Match(string input,string pattern);
从字符串input中找出第一个符合正则表达式pattern的串 - MatchCollection Matches(string input,string pattern);
找出字符串input中所有符合正则表达式pattern的字符
关于这个方法返回的MatchCollection可以使用foreach(Match ma in mc)这样的循环遍历,调用Match的tostring方法就可以得到我们需要的字符串 - Replace(string input,string pattern,string replacement)
将字符串input中符合正则表达式pattern的部分替换为replacement - string[] Split(string input,string pattern);
将字符串input按照正则表达式pattern拆分成字符串数组
特殊符号
- @字符在书写一个正则表达式之前加入一个@,表示当前字符串中的转义字符作为正则表达式的元字符来出现,不让编译器去解析
部分元字符
- ^
定位串开始的字符 - $
定位串结束的字符 - .
匹配除换行符以外的任意字符 - \w
匹配字母 数字 下划线 汉字 - \W
\w的补集 - \s
匹配任意空白字符(包括换行符/n,回车符/r,制表符/t,垂直制表符/v,换页符/f) - \S
\s的补集 - \d
匹配数字 - \D
\d的补集
部分反义字符
- [abc]
匹配括号中写入的字符 - [a-c]
匹配a到c之间所有的字符 - [^xab]
匹配除了xab以外的任意字符
重复描述字符
- {n}
匹配前面的字符n次 - {n,}
匹配前面的字符n次或多余n次 - {n,m}
匹配前面的字符n到m次 - ?
重复零次或一次 -
重复一次或更多次
重复零次或更多次
则一匹配
- |
类似于或运算,只要符合俩侧的正则表达式其中一个即可
分组
- 用()可以对正则表达式规则进行分组,就类似算术表达式那样的优先级分组