C#正则表达式基础(10分钟快速入门)
//限定符 string str = "abc ga1234gaa123ga abbc abbbbbbc"; //gaa? 匹配gaa后面的a一次或多次 ga gaa var result1 = Regex.Matches(str, "gaa?"); //ab*c b可有可无,也可以有多个 ac abc abbbc var result2 = Regex.Matches(str, "ab*c"); //ab+c 只能匹配abc abbc var result3= Regex.Matches(str, "ab+c"); //ab{6}c b出现6次 abbbbbbc var result4= Regex.Matches(str, "ab{6}c"); //ab{2,6}c b出现2到6次 abbc abbbbbbc var result5 = Regex.Matches(str, "ab{2,6}c"); //ab{2,}c b出现2次以上 abbc abbbbbbc var result6 = Regex.Matches(str, "ab{2,}c"); //(ab)+ ab出现多次 abbc abbbbbbc var result7 = Regex.Matches(str, "(ab)+"); str = "a cat a dog a bird 123 abc "; //或运算 //a (cat|dog) var result8 = Regex.Matches(str, "a (cat|dog)"); //[^0-9] 所有非数字单个字符 包含空格 var result9 = Regex.Matches(str, "[^0-9]"); //[^0-9]* 所有非数字字符 包含空格 空格为单个字符 var result10 = Regex.Matches(str, "[^0-9]*"); //[^0-9]+ 所有非数字字符 包含空格 var result11 = Regex.Matches(str, "[^0-9]+"); // \d 数字 0-9 \D非数字字符 // \w 字符 数字或字符或下划线 \W非单词字符 // \s 同时包含空白符和换行符 \S非空白字符 // . 表示任意字符,但不包含换行符 // ^匹配行首 $匹配行尾 //<.+> 贪婪匹配 str = "<span><b>this is a sample text</b></span>"; var result12 = Regex.Matches(str, "<.+>"); //<.+?> 匹配所有<>中的内容,包含<>本身 ?将贪婪匹配切换成了懒惰匹配 str = "<span><b>this is a sample text</b></span>"; var result13 = Regex.Matches(str, "<.+?>");