Regex 托管元数据格式的正则表达式(多个值)

Regex 托管元数据格式的正则表达式(多个值),regex,Regex,我得到了这个正则表达式,它给出了单个输入值的描述: (?:GTSET|GP0|GPP|L0)\|#0[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]*\|(.*) L0|#060066230-11f1-46db-ad89-2b91ffd42ec4|Processing 但当涉及到多重价值观时——它不起作用——缺失了什么 GP0|#3e7ea87a-6d25-4f18-a68a-3ccb18f72e57;L0|#03‌​e7ea8

我得到了这个正则表达式,它给出了单个输入值的描述:

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

L0|#060066230-11f1-46db-ad89-2b91ffd42ec4|Processing
但当涉及到多重价值观时——它不起作用——缺失了什么

GP0|#3e7ea87a-6d25-4f18-a68a-3ccb18f72e57;L0|#03‌​e7ea87a-6d25-4f18-a6‌​8a-3ccb18f72e57|Argu‌​mentationshilfen;GTS‌​et|#25b6d12b-8e8b-42‌​33-8931-9c50587ca114‌​;GP0|#84e33f19-dc80-‌​4628-b292-a96090b1c7‌​02;L0|#084e33f19-dc8‌​0-4628-b292-a96090b1‌​c702|Medien (Videos/Grafiken/Bilder)

GP0|#3e7ea87a-6d25-4f18-a68a-3ccb18f72e57;L0|#03e7ea87a-6d25‌​-4f18-a68a-3ccb18f72‌​e57|Argumentationshi‌​lfen;GTSet|#25b6d12b‌​-8e8b-4233-8931-9c50‌​587ca114;GP0|#84e33f‌​19-dc80-4628-b292-a9‌​6090b1c702;L0|#084e3‌​3f19-dc80-4628-b292-‌​a96090b1c702|Medien (Videos/Grafiken/Bilder);GP0|#a8629bc7-a09f-4c45-a864-8506e0‌​01ef66;L0|#0a8629bc7‌​-a09f-4c45-a864-8506‌​e001ef66|Technische Daten"

您需要将与除换行符以外的任何0+字符匹配的
(.*)
模式限制为与除
以外的任何1+字符匹配的否定字符类
[^;]+
(因为它似乎是需要提取的值的分隔符)

使用

看。注:我还通过将三个
-[0-9a-f]{4}
合并到
(?:-[0-9a-f]{4}){3}
(3次出现的
-
序列)来稍微收缩模式

var rx=/(?:GTSET | GP0 | GPP | L0)\\\\\\#0[0-9a-f]{8}(?:-[0-9a-f]{4}{3}-[0-9a-f]*\\\\\\\([^;]+)/g;
“L0 | || 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 2 2 2 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4处理处理处理处理4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4处理处理处理处理处理处理处理处理,GP0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 C702;L0||084e33f19-dc80-4628-b292-a96090b1c702|Medien(视频/格拉菲肯/比尔德)“GP0|||;||;|;; L0||||||||;|;;;|;;|;;|;;"3E7A-7E7A-7A-8A-6-8A-8A-8A-8A-8A-3CCB18-3CCB18181818-7777777777777777C777777777777777777777CC77777777777777777777777777CcCB18-18-55555555555555555555555555555555557;L6-6-6-6-6 124;地中海(视频/格拉菲肯/比尔德)GP0 | | a8629bc7-a09f-4c45-a864-8506e001ef66;L0 | | 0a8629bc7-a09f-4c45-a864-8506e001ef66 |技术数据|;
用于(STR的var s){
var res=[],m;
while(m=rx.exec){
res.push(m[1]);
}
控制台日志(res);

}
对于上面的每个字符串,您希望获得什么?正则表达式后面的代码是什么?假设对于下面的输入:我应该得到处理
L0 | | 060066230-11f1-46db-ad89-2b91ffd42ec4 |处理
现在对于下面的多个值,我应该得到:Argu‌​希芬-地中海(视频/格拉菲肯/比尔德)
GP0 |#3e7ea87a-6d25-4f18-a68a-3ccb18f72e57;L0 |#03‌​e7ea87a-6d25-4f18-a6‌​8a-3ccb18f72e57 | Argu‌​石粉;GTS‌​et |#25b6d12b-8e8b-42‌​33-8931-9c50587ca114‌​;GP0 |#84e33f19-dc80-‌​4628-b292-a96090b1c7‌​02;L0 |#084e33f19-dc8‌​0-4628-b292-a96090b1‌​c702 | Medien(Videos/Grafiken/Bilder)
正则表达式背后的代码是Javascript
(?:GTSET|GP0|GPP|L0)\|#0[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]*\|([^;]+)