需要C#Regex才能在句子中获得单词对

EZE*_*EZE 6 c# regex

是否有正则表达式将采取以下句子:

"我想把它分成两对"

并生成以下列表:

"我想要","想要这个","这个分裂","分裂","进入","成对"

Tim*_*ker 5

由于需要重复使用单词,因此需要先行断言:

Regex regexObj = new Regex(
    @"(     # Match and capture in backreference no. 1:
     \w+    # one or more alphanumeric characters
     \s+    # one or more whitespace characters.
    )       # End of capturing group 1.
    (?=     # Assert that there follows...
     (\w+)  # another word; capture that into backref 2.
    )       # End of lookahead.", 
    RegexOptions.IgnorePatternWhitespace);
Match matchResult = regexObj.Match(subjectString);
while (matchResult.Success) {
    resultList.Add(matchResult.Groups[1].Value + matchResult.Groups[2].Value);
    matchResult = matchResult.NextMatch();
}
Run Code Online (Sandbox Code Playgroud)

对于三人组:

Regex regexObj = new Regex(
    @"(     # Match and capture in backreference no. 1:
     \w+    # one or more alphanumeric characters
     \s+    # one or more whitespace characters.
    )       # End of capturing group 1.
    (?=     # Assert that there follows...
     (      # and capture...
      \w+   # another word,
      \s+   # whitespace,
      \w+   # word.
     )      # End of capturing group 2.
    )       # End of lookahead.", 
    RegexOptions.IgnorePatternWhitespace);
Run Code Online (Sandbox Code Playgroud)

等等