如何在c#中使用正则表达式提取它

本文关键字:正则表达式 提取 | 更新日期: 2023-09-27 18:12:08

我最近正在用c#为outlook制作一个插件。我开始看到正则表达式。我有一个类似于下一个的文本(字符串或txt文件中的纯文本),我必须提取除*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*到单词HelpDesk之后的所有内容。我如何用常规函数提取(或者如果不是,如何提取"消息"?)?谢谢。

正文:

Bonjour,
Le ticket 271068 a été assigné à votre groupe SECURITY
    Date :         5/2/2013 4:07:09 PM 
    Demandeur:     LastName Name
    Utilisateur :  LastName Name
    Catégorie :    Security-Mail spam
    Niveau d'urgence: 
    Détails :
    Subject: 
    Message: Bonjour,

Here comes a message that can be
of many lines and can contain
anything.

Merci


    From: SMTP:{Thierry.PROMTEAU@oecd.org}Thierry.PROMTEAU@oecd.org
    To:    help@oecd.org
    *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Lien direct vers le ticket :
http://sde.main.oecd.org/sde/default.aspx?ModSeq=24&Sequence=271068&FormSeq=1030
Cordialement
L’équipe du Helpdesk

如何在c#中使用正则表达式提取它

如果你的模式永远是: - - * - - * - - * - - * - - * - - * - - * - - * - 那你可以试试:

 string[] splittedText = Regex.Split(yourText, "*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
 string result = splittedText[0];

您可以通过所有输入替换为您所寻找的部分来"提取"它,将其捕获在一个组中:

string content = Regex.Replace(input, ".*[*-]{50,60}(.*)HelpDesk.*", "$1");