正则表达式获取高位文本C#
我试图从这篇文章中得到:正则表达式获取高位文本C#,c#,regex,wpf,C#,Regex,Wpf,我试图从这篇文章中得到: updateServer cInterface_test-184 cServer_test-184 dControl_test-178 mcontrol_doorinterface_test-178 斜体字符串。例如,在第二行test-184中,我使用以下正则表达式: test+.* 但是如何在c#wpf中提取字符串中的test-184呢 谢谢:) 编辑:星星不在文本中,我想突出显示我想要的文本您可以使用如下代码: class Program { stati
updateServer
cInterface_test-184
cServer_test-184
dControl_test-178
mcontrol_doorinterface_test-178
斜体字符串。例如,在第二行test-184中,我使用以下正则表达式:
test+.*
但是如何在c#wpf中提取字符串中的test-184呢
谢谢:)
编辑:星星不在文本中,我想突出显示我想要的文本您可以使用如下代码:
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);
}
}
}
在“测试-”之后,是否总是有一个数字 如果是这样,以下是最适合您的:
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);
}
也许最好把(.*)变成非贪婪(.*)。即使这些值在一行中,它也可以工作,比如:cInterface_test-184*cServer_uu*test-184非常感谢!真是太多了!工作很好!