使用正则表达式,之前对规则不求甚解,现在整理下学习成果;
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