在比赛之前或之前获得一个单词?

时间:2017-10-22 01:58:13

标签: c# regex unity3d

输入

aa bb cc color:red dd ee ff

我的RegEx

:

我怎样才能得到结肠前的颜色或结肠后的红色?

我只想要冒号之前或之后的第一个单词。

1 个答案:

答案 0 :(得分:0)

轻松捕获群组:(\w+)(?:\:)(\w+)

using System;
using System.Text.RegularExpressions;

public class Example
{
    public static void Main()
    {
        string pattern = @"(\w+)(?:\:)(\w+)";
        string input = @"aa bb cc color:red dd ee ff";

        foreach (Match m in Regex.Matches(input, pattern))
        {
            Console.WriteLine("'{0}' full math at index {1}.", m.Value, m.Index);
            Console.WriteLine("Capture group 1: '{0}'", m.Groups[1].Value);
            Console.WriteLine("Capture group 2: '{0}'", m.Groups[2].Value);
        }
    }
}

输出:

'color:red' full math at index 9.
Capture group 1: 'color'
Capture group 2: 'red'

PS:您不需要逃避字面冒号,我只是为了使图案更具可读性。