使用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);
请帮忙。
答案 0 :(得分: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]*\|(.*)