string line = "1900/01/01 1 提示消息:架号:E126 杯号:1 入库(CI8200)OK";
//得到结果 E126
string jiaha = new Regex("架号:(?<value>.+) 杯号").Match(line).Groups["value"].Value;
//得到结果 1
string beihao = new Regex("杯号:(?<value>.+)入库").Match(line).Groups["value"].Value.Trim();
line = "记录时间:2020-04-03 12:46:50 2020-04-03 1 项目代号:_TT3 结果:1.1 1.05 入库(CI8200)OK 2020-04-03 12:44:06";
//得到结果 2020-04-03 12:46:50
guang.JiLuDate = new Regex("记录时间:(?<value>.+) 2").Match(line).Groups["value"].Value.Trim();
//得到结果 _TT3
guang.ProCode = new Regex("项目代号:(?<value>.+)结果").Match(line).Groups["value"].Value.Trim();
//可以得到 正常结果 1.1 这是非贪婪模式
guang.Result = new Regex("结果:(?<value>.+?)\t").Match(line).Groups["value"].Value.Trim();
//可以得到 结果 1.1\t1.05\t入库(CI8200)OK 这是贪婪模式,贪婪模式没有问好
guang.Result = new Regex("结果:(?<value>.+)\t").Match(line).Groups["value"].Value.Trim();
//另外我像说的是 在C#中 匹配\t \s \n 这种的话,应该用 [] 上面的是匹配不到 \t 的,会直接忽略
guang.Result = new Regex("结果:(?<value>.+)[\t]").Match(line).Groups["value"].Value.Trim();
//如果要匹配反斜杠的话,这样就好了
//下面 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\真实环境\湘潭妇幼\Factory.mdb
//就会匹配出 F:\真实环境\湘潭妇幼
string path = new Regex(@"Data Source=(?<value>.*)\\Factory.mdb").Match(accessConString).Groups["value"].Value;
//另外正则默认不匹配\n ,在开始的时候加上(?s)则会匹配上 \n, (?i) 则会忽略大小写
new Regex("(?s)TCD印象(?<value>.+)").Match(strs[0]).Groups["value"].Value
最近老是要找资料很烦,而且C#资源越来越少,所以自己记录了。
最近快失业了,11年开发经验,没想到会是这种结果,只因我是C#开发吗?