C#正则表达式(通俗易懂)
正则表达式有多重要,话不多说,直接入正题把。
首先我们来说说元字符。
1、 . 点号代表除了换行意外的任意单个字符
例如 a.b 说明a和b之间只能有任意一个字符。
2、[]代表从这里面取出任意一个字符
例如 a[xyz]b 符合的有 axb ayb azb
3、 ^:这个是取反
例如 a[^xyz]b 自己想想
下面来说说常见的限定符
1、*:表示可以出现零次或多次,*表示可以有也没有
2、+ 表示至少出现一次,可以出现多次
3、?表示出现一次或零次
4、{n}必须出现n次
5、{n,}至少出现n次
6、{n,m}至少n次,最多m次
下面来说说:正则表达式的提取组问题,我们都都知道括号有改变优先级的作用,比如
z|hello 结果,是啥,(z|h)ello。
括号还有一个作用就是提取组的作用。
最经常看到的需求就是把网页里面的邮箱163,sohu,gmail,qq分组来做
这里就是提取组的用法实例之一
再下来简单的说说:正则表达式的贪婪模式把。
string str="啊哈哈hello world嘎嘎"
string regStr="[a-zA-Z]+";
//当正则表达式的式进行提取的时候,如果一个字符也能匹配,多个字符匹配,这时,会按照使用最多字符来匹配。
如何终结贪婪模式呢
?跟在限定符后面
当你终结贪婪模式的时候,会按照最小的来匹配。
正则表达式应用非常广,主要是因为它在做某些操作的时候,比较方便,效率呢,不是正则表达式的优势。
欢迎大家讨论
终极目标:世界大同