2016-09-14 54 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