C# 用正则表达式重写 处理:表单数据;name=“To” 昂 -----------------------------7da3d81f160588 内容配置:表单数据;name=“CC” -----------------------------7da3d81f160588 内容配置:表单数据;name=“密件抄送” -----------------------------7da3d81f160588 内容配置:表单数据;name=“主题” 我的主体 -----------------------------7da3d81f160588 内容配置:表单数据;name=“File”;filename=”“ 内容类型:应用程序/八位字节流 -----------------------------7da3d81f160588 内容配置:表单数据;name=“cf\u加载器” 在…上 -----------------------------7da3d81f160588 内容配置:表单数据;name=“File”;filename=“” 内容类型:应用程序/八位字节流 -----------------------------7da3d81f160588 内容配置:表单数据;name=“模板\u id” -----------------------------7da3d81f160588 内容配置:表单数据;name=“Body” 我的身体

C# 用正则表达式重写 处理:表单数据;name=“To” 昂 -----------------------------7da3d81f160588 内容配置:表单数据;name=“CC” -----------------------------7da3d81f160588 内容配置:表单数据;name=“密件抄送” -----------------------------7da3d81f160588 内容配置:表单数据;name=“主题” 我的主体 -----------------------------7da3d81f160588 内容配置:表单数据;name=“File”;filename=”“ 内容类型:应用程序/八位字节流 -----------------------------7da3d81f160588 内容配置:表单数据;name=“cf\u加载器” 在…上 -----------------------------7da3d81f160588 内容配置:表单数据;name=“File”;filename=“” 内容类型:应用程序/八位字节流 -----------------------------7da3d81f160588 内容配置:表单数据;name=“模板\u id” -----------------------------7da3d81f160588 内容配置:表单数据;name=“Body” 我的身体,c#,regex,C#,Regex,我编写了获取信息并以KeyValuePair形式写入的代码。如下所示: 键值 To-ang CC-空 密件抄送-空 主题-我的主题等。 我的代码用于此类字符串。我需要使用正则表达式,但我不理解它们。请帮忙。谢谢。MIME解析器不应使用正则表达式编写。问题是,您需要一个具有状态的解析器,而它实际上并不适合正则表达式 但是,您可以使用正则表达式解析部分,例如: 首先通过在边界上拆分将MIME主体拆分为多个部分:var parts=MIME.split(“----------------------

我编写了获取信息并以KeyValuePair形式写入的代码。如下所示:

键值
To-ang
CC-空
密件抄送-空
主题-我的主题
等。
我的代码用于此类字符串。我需要使用正则表达式,但我不理解它们。请帮忙。谢谢。

MIME解析器不应使用正则表达式编写。问题是,您需要一个具有状态的解析器,而它实际上并不适合正则表达式

但是,您可以使用正则表达式解析部分,例如:

  • 首先通过在边界上拆分将MIME主体拆分为多个部分:
    var parts=MIME.split(“-------------------------------7da3d81f160588”)

  • 然后,使用
    part.Split(新的{“\r\n”},2,StringSplitOptions.None)提取所有头文件

  • 然后,解析标题。这可以使用正则表达式来完成,但这样做可能更容易:
    headerLine.Split(new[]{':'},2).Select(p=>p.Trim())


现在,这些单独的部分也可以使用正则表达式,但这比一些简单的
拆分
s要困难得多。

我不理解这个问题。您当前的代码可以工作,但您想使用正则表达式重写它吗?为什么?此外,您的格式设置似乎混乱。请编辑您的问题,将实际文本复制到编辑窗口中,选择它并按Ctrl-K将其格式化为“原样”。@rerun:不,我的研究与经济有关。这对我来说很有趣。编程是我的爱好。
Disposition: form-data; name="To"

ang <ang11@google.com>
-----------------------------7da3d81f160588
Content-Disposition: form-data; name="CC"


-----------------------------7da3d81f160588
Content-Disposition: form-data; name="BCC"


-----------------------------7da3d81f160588
Content-Disposition: form-data; name="Subject"

MySubject
-----------------------------7da3d81f160588
Content-Disposition: form-data; name="File"; filename=""<br/>
Content-Type: application/octet-stream


-----------------------------7da3d81f160588
Content-Disposition: form-data; name="cf_loader"

on
-----------------------------7da3d81f160588
Content-Disposition: form-data; name="File"; filename=""
Content-Type: application/octet-stream


-----------------------------7da3d81f160588
Content-Disposition: form-data; name="template_id"


-----------------------------7da3d81f160588
Content-Disposition: form-data; name="Body"

MyBody