c# - 为大字符串定义正则表达式

标签 c# regex

我已经在 Google 上搜索过,但仍然不知道如何为此编写一个正则表达式:

rec-1-20151103142759-d9fd57bc-4fe3-4b91-a640-ddd54ef081dd-Speakers-Andreea.Dumitru-ANDREEADUM-DSK-9fa377fe-3290-4cb7-9c7e-6ea86e01e08f-1066

我必须从这个字符串中获得以下内容:

  • id = 1
  • 日期时间 = 20151103142759
  • guidid2= d9fd57bc-4fe3-4b91-a640-ddd54ef081dd
  • type= 演讲者
  • 用户名= Andreea.Dumitru
  • sourceName= ANDREEADUM-DSK
  • guidId2 = 9fa377fe-3290-4cb7-9c7e-6ea86e01e08f-1066

我已经开始了

Regex regex = new Regex(-[0-9]{1}(| |-)[0-9]{14}(| |-)[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(| |-)[a-fA-F](| |-)[a-fA-F](| |-) .... 

最佳答案

解决方法:

\w{3}-(\d)-(\d{14})-([\w\d]{8}-[\w\d]{4}-[\w\d]{4}-[\w\d]{4}-[\w\d]{12})-(\w+)-([\w.]+)-(\w+-\w+)-([\w\d]{8}-[\w\d]{4}-[\w\d]{4}-[\w\d]{4}-[\w\d]{12}-[\w\d]{4})

这将是 C# 中没有正则表达式选项的行:

Regex regex = new Regex(@"\w{3}-(\d)-(\d{14})-([\w\d]{8}-[\w\d]{4}-[\w\d]{4}-[\w\d]{4}-[\w\d]{12})-(\w+)-([\w.]+)-(\w+-\w+)-([\w\d]{8}-[\w\d]{4}-[\w\d]{4}-[\w\d]{4}-[\w\d]{12}-[\w\d]{4})");

它在 regex101 中:https://regex101.com/r/bI8yH6/1

关于c# - 为大字符串定义正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33635600/

相关文章:

c# - Azure AD B2C 单点登录实现

regex - 使用正则表达式通过/usr/bin/rename 重命名多个文件

c# - 如何触发事件?

c# - 为什么自定义 WinForms 控件在绘制时不遵守构造函数中设置的属性?

c# - 在 asp.net 中获取应用程序根目录的绝对 uri 的最快方法是什么?

regex - VBScript 正则表达式问题 (.*)

php - 使用PHP将字符串内大括号之间的子字符串提取到数组中

javascript - 正则表达式西类牙语和阿拉伯语单词

javascript - 将 html 标签放在字符串中的匹配项周围

c# - 以编程方式启动和停止 IIS Express