我收集了进入系统的批号(例如 24132352454235000534),每个 20 个字符长。我想使用正则表达式从我的每个批号中提取从 7 到 15 的子字符串。
我想使用正则表达式的原因是,要求不是修改现有的 20 多个进程使用的代码,而是简单地将表达式添加到配置中,以便在正确的进程需要时应用它。
请问我该怎么做?
我收集了进入系统的批号(例如 24132352454235000534),每个 20 个字符长。我想使用正则表达式从我的每个批号中提取从 7 到 15 的子字符串。
我想使用正则表达式的原因是,要求不是修改现有的 20 多个进程使用的代码,而是简单地将表达式添加到配置中,以便在正确的进程需要时应用它。
请问我该怎么做?
试试这个正则表达式:
(\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