我有一个测量设备,可以按以下格式创建样本:
V GL020(1)=20110117161703
另一个例子:
V GLXX011(10)=ADEF=*GFSDAS
我要做的是创建一个返回的正则表达式
第一个例子的GL020 / 1 / 20110117161703
和
GLXX011 / 10 / ADEF=*GFSDAS
代表第二个例子。
我找到了一个正则表达式,它可靠地匹配了前两个必需部分:
.*?(?<Field>(?:[a-z][a-z]*[0-9]+[a-z0-9]*)).*?(?<Count>\d+)
但是,我仍然在第一个"="
之后错过了这个部分。我不知道它是否重要但第一个"="
之后的部分可能包含"="
本身等字符。
答案 0 :(得分:4)
您可以使用如下表达式:
(\w+)\((\d+)\)=(\S+)
在第一,第二和第三个捕获组中为您提供所需的子串。
答案 1 :(得分:1)
尝试使用这个:
([^\(|\s]+)\((\d+)\)=([\w|\=|\*]+)
答案 2 :(得分:0)
请使用此正则表达式:
(?<first>\w+)\s(?<second>\w+)(?<third>\(\d+\))=(?<forth>.*)