RegEx获得高级文本C#

时间:2017-02-22 10:45:15

标签: c# regex wpf

我试图从这段文字中得到:

updateServer
cInterface_test-184
cServer_test-184
dControl_test-178
mcontrol_doorinterface_test-178

斜体字符串。例如在第二行 test-184 我使用以下regEx:

test+.*

但是如何在c#wpf中的字符串中提取 test-184

谢谢:)

编辑:星星不在文本中,我想突出显示我想要的文字

2 个答案:

答案 0 :(得分:0)

你可以使用代码llke this:

class Program
{
    static void Main(string[] args)
    {
        var text = @"
updateServer
cInterface_*test-184*
cServer_*test-184*
dControl_*test-178*
mcontrol_doorinterface_*test-178*
";
        foreach (Match match in Regex.Matches(text, "\\*(.*)\\*"))
        {
            Console.WriteLine(match.Groups[1].Value);
        }
    }
}

答案 1 :(得分:0)

'test-'之后,总会有一个数字吗?

如果是这样,以下是最适合您的:

static void Main(string[] args)
        {
            var text = @"
updateServer
cInterface_*test-184*
cServer_*test-184*
dControl_*test-178*
mcontrol_doorinterface_*test-178*
";
            var pattern = @"test-\d*";

            foreach (Match match in Regex.Matches(text, pattern))
                        Console.WriteLine(match);
}

如果'test-'不是常数,则可以使用以下代码:

static void Main(string[] args)
        {
            var text = @"
updateServer
cInterface_*test-184*cServer_*test-184*
cServer_*test-184*
dControl_*test-178*
mcontrol_doorinterface_*test-178*
";
            var pattern = @"\*(.*?)\*";

            foreach (Match match in Regex.Matches(text, pattern))
                Console.WriteLine(match.Groups[1].Value);
        }