我收集了进入系统的批号(例如24132352454235000534),每个号码长20个字符。我想,使用正则表达式,从我的每个批号中提取,比如从7到15的子字符串。
我想使用正则表达式的原因是要求不是修改20多个进程使用的现有代码,而只是将表达式添加到配置中,以便在需要时可以应用它处理。
我该怎么做呢?
答案 0 :(得分:3)
只需使用积极的外观:
(?<=\d{6})\d{8}
在此处查看:[{3}}
答案 1 :(得分:0)
试试这个正则表达式:
(\d{6})(\d{9})(\d{5})
示例代码:
string strRegex = @"(\d{6})(\d{9})(\d{5})";
RegexOptions myRegexOptions = RegexOptions.Multiline | RegexOptions.Singleline;
Regex myRegex = new Regex(strRegex, myRegexOptions);
string strTargetString = @"24132352454235000534";
string strReplace = @"$2"; // corresponds to the 2nd group: (\d{9})
return myRegex.Replace(strTargetString, strReplace);
最终字符串:
524542350