0

それぞれ 20 文字の長さのバッチ番号 (例: 24132352454235000534) がシステムに入ってきます。正規表現を使用して、各バッチ番号から 7 から 15 までの部分文字列を抽出したいと思います。

正規表現を使用したい理由は、20 を超えるプロセスで使用されている既存のコードを変更する必要がなく、適切なプロセスで必要なときに適用できるように構成に式を追加するだけだからです。

どうすればこれを行うことができますか?

4

2 に答える 2

3

肯定的な後読みを使用してください。

(?<=\d{6})\d{8}

ここで実際に見てください:http://regex101.com/r/eX5rZ9

于 2013-02-05T20:34:15.537 に答える
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
于 2013-02-05T20:34:48.923 に答える