C# Regex 正则表达式初探

使用正则表达式,之前对规则不求甚解,现在整理下学习成果;

string str = @"混-3a胶带机(140100  )  无 是 三工十二备混-3b胶带机(140100)";
string patt = @"w*?工w*?备";//

我的提取规则就是识别str字符串中 {}工{}备 这样的字符串,解释w是 与任何单词字符匹配,是字符类的匹配规则;*?表示限定符,匹配上一个元素零次或多次,但次数尽可能少,然后硬匹配 工 字,接下来又是w和*?匹配字符,然后硬匹配 备 字;

var matVal = Regex.Match(str, patt);
Console.WriteLine(matVal.Value);

输出结果:三工十二备,这样就达到了提取目的。

正则表达式匹配中文: 类似 中2问 特殊200件 这种

MatchCollection matchCollection = Regex.Matches(equpStr, @"[u4e00-u9fa5][0-9]+?[u4e00-u9fa5]");//中文 数字 中文

以前也一直读不懂正则表达的规则。

后面实际操作了下才知道正则的规则是分好几类的:

像上面先是硬匹配  直接就写字符上去, 工 字和 备 字;

然后有字符类 还有结合使用的限定符类等

通过这篇的学习,应该看菜鸟教程就能没有问题了:

https://www.runoob.com/csharp/csharp-regular-expressions.html

原文地址:https://www.cnblogs.com/LeeSki/p/14548792.html