麻烦创造正则表达式

时间:2012-04-03 11:14:36

标签: c# regex

我有一个测量设备,可以按以下格式创建样本:

V GL020(1)=20110117161703

另一个例子:

V GLXX011(10)=ADEF=*GFSDAS

我要做的是创建一个返回的正则表达式 第一个例子的GL020 / 1 / 20110117161703GLXX011 / 10 / ADEF=*GFSDAS代表第二个例子。

我找到了一个正则表达式,它可靠地匹配了前两个必需部分:

.*?(?<Field>(?:[a-z][a-z]*[0-9]+[a-z0-9]*)).*?(?<Count>\d+)

但是,我仍然在第一个"="之后错过了这个部分。我不知道它是否重要但第一个"="之后的部分可能包含"="本身等字符。

3 个答案:

答案 0 :(得分:4)

您可以使用如下表达式:

(\w+)\((\d+)\)=(\S+)

在第一,第二和第三个捕获组中为您提供所需的子串。

答案 1 :(得分:1)

尝试使用这个:

([^\(|\s]+)\((\d+)\)=([\w|\=|\*]+)

答案 2 :(得分:0)

请使用此正则表达式:

(?<first>\w+)\s(?<second>\w+)(?<third>\(\d+\))=(?<forth>.*)