2016-09-14 25 views
-1

使用JavaScript,我收到此类型的原始数据的权正则表达式:查找托管元数据格式

input = "GP0|#586fa4fb-32ad-422a-aaa2-a676df51302b\n\nL0|#0586fa4fb-32ad-422a-aaa2-a676df51302b|Consumer Goods\n\nGTSet|#cbadda79-7304-4902-b648-45b9dab70eb6" 

input = "GP0|#60066230-11f1-46db-ad89-2b91ffd42ec4\n\nL0|#060066230-11f1-46db-ad89-2b91ffd42ec4|Processing\n\nGTSet|#cbadda79-7304-4902-b648-45b9dab70eb6\n\nGPP|#b6240ea6-ebbd-47ce-8516-d5208256b9d3\n\nGPP|#586fa4fb-32ad-422a-aaa2-a676df51302b" 

我曾尝试下面的正则表达式,但没有得到它正在处理或消费品

var mmDataRegex = /#0[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]|(.*?)(GTSET|GP0|GPP|L0|$)/igm; 
var match = mmDataRegex.exec(input); 

请帮忙。

+2

你想完全匹配什么?只是处理或消费品的价值? –

回答

1

.*?与加工/消费品后的换行符不匹配。尝试

[^|]*? 

而不是捕获组。

编辑:

或者这你真正想要的是什么?

(?:GTSET|GP0|GPP|L0)\|#0[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]*\|(.*) 

Check it here at regex101

+0

我有一组新的数据(多个值) - 我们如何才能改进上述正则表达式来获得描述:'GP0 |#3e7ea87a-6d25-4f18-a68a-3ccb18f72e57; L0 |#03e7ea87a-6d25-4f18-a68a -3ccb18f72e57 | Argumentationshilfen | GTSet |#25b6d12b-8e8b-4233-8931-9c50587ca114; GP0 |#84e33f19-dc80-4628-b292-a96090b1c702; L0 |#084e33f19-dc80-4628-b292-a96090b1c702 | Medien(Videos/Grafiken/Bilder)' – user3674148

+0

'GP0 |#3e7ea87a-6d25-4f18-a68a-3ccb18f72e57; L0 |#03e7ea87a-6d25-4f18-a68a-3ccb18f72e57 | Argumentationshilfen; GTSet |#25b6d12b-8e8b-4233-8931-9c50587ca114; GP0 |#84e33f19 -dc80-4628-b292-a96090b1c702; L0 |#084e33f19-dc80-4628-b292-a96090b1c702 | Medien(Videos/Grafiken/Bilder); GP0 |#a8629bc7-a09f-4c45-a864-8506e001ef66; L0 |#0a8629bc7-a09f -4c45-a864-8506e001ef66 | Technische Daten“' – user3674148