繁体   English   中英

如何使用正则表达式识别特定行? c#

[英]How to use Regex to identify specific line? c#

我是正则表达式的新手,但仍然不太了解

我需要识别一条线,但由于某种原因,我在使用正则表达式时总是会出错

识别结构的行:屏幕消息:FULL PATH \ FILENAME.PNG

例子:

Screen Message: c:\program files (x86)\regression machine work\reports\156487/04-37-71_47-38-141\Screenmessages\63445646476476767574.FAR.png

尝试使用 go 作为前缀(“屏幕消息:”)和后缀(“.FAR.png”),但无法正常工作

Regex.Match(Text, $"(^Screen Message: )+[0-9]+[a-z]\+{.FAR.png}$", RegexOptions.IgnoreCase).Success;

任何帮助将不胜感激谢谢

您可以使用正则表达式

Screen Message:\s*(?<folder>.*)\\(?<filename>.*\.FAR\.png)

请参阅正则表达式演示 详情

  • Screen Message: - 一个字符串
  • \s* - 零个或多个空白字符
  • (?<folder>.*) - 组“文件夹”:尽可能多的任何零个或多个字符
  • \\ - 一个\字符
  • (?<filename>.*\.FAR\.png) - 组“文件名”:尽可能多的零个或多个字符,然后是.FAR.png substring

请参阅C# 演示

var pattern = @"Screen Message:\s*(?<folder>.*)\\(?<filename>.*\.FAR\.png)";
var input = @"Screen Message: c:\program files (x86)\regression machine work\reports\156487/04-37-71_47-38-141\Screenmessages\63445646476476767574.FAR.png";
var match = Regex.Match(input, pattern);
if (match.Success)
{
    Console.WriteLine("Folder: '{0}', filename: '{1}'", 
        match.Groups["folder"].Value, match.Groups["filename"].Value);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM