1

私は正規表現が初めてで、一致する「重複する」グループを見つけることができるかどうかを知りたいだけです。

次の文字列を想定します。

20122 0029431 7094 0111 5890

4number+space+4number+space+4number のすべての一致が必要です。

私が試したのはこれです:[0-9]{4}[\s][0-9]{4}[\s][0-9]{4}

しかし、これは私に与えました: 9431 7094 0111

私が欲しいのはこれらの試合です:

  • 9431 7094 0111
  • 7094 0111 5890

これは正規表現で可能ですか?

4

1 に答える 1

3

はい、先読みアサーションをキャプチャ グループと組み合わせて使用​​する場合:

Regex regexObj = new Regex(@"(?=(\d{4}\s\d{4}\s\d{4}))");
Match matchResult = regexObj.Match(subjectString);
while (matchResult.Success) {
    resultList.Add(matchResult.Groups[1].Value);
    matchResult = matchResult.NextMatch();
} 
于 2012-07-04T09:38:01.223 に答える