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

posted @ 2021-03-17 13:15  ZedFFF  阅读(70)  评论(0编辑  收藏  举报