C#结合正则表达式

时间:2014-01-24 20:44:14

标签: c# regex

我想结合几个表达式,每行得到3个不同的结果。

实施例: element\data\elements.data|44a0b61d1952973f52ad54cb911c0e3e|33095223

.*?element(?:(?!\|).)*检索element\data\elements.data

(?<=\|)(.*?)(?=\|)检索44a0b61d1952973f52ad54cb911c0e3e

(?<=\|)[0-9]*\r检索33095223

但是对于我来说,我目前正在做3种不同的RegEx,我想将其限制为只有一种来获得我需要的3个结果并将它们设置为不同的变量。

我已经考虑过做Dictionary,但那些只允许2个变量,而我需要3个。

2 个答案:

答案 0 :(得分:7)

您可以在垂直管道上拆分:

var elements = string.Split('|');

结果字符串数组将包含:

  • 元素\数据\ elements.data
  • 44a0b61d1952973f52ad54cb911c0e3e
  • 33095223

答案 1 :(得分:0)

对于具有多个匹配的正则表达式,您应该看看添加|你的表达之间。 然后,这将返回与所有模式匹配的所有结果,不区分哪个匹配项找到哪个字符串。