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|#03e7ea8
(?: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|#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|#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"
您需要将与除换行符以外的任何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 |#03e7ea87a-6d25-4f18-a68a-3ccb18f72e57 | Argu石粉;GTSet |#25b6d12b-8e8b-4233-8931-9c50587ca114;GP0 |#84e33f19-dc80-4628-b292-a96090b1c702;L0 |#084e33f19-dc80-4628-b292-a96090b1c702 | Medien(Videos/Grafiken/Bilder)
正则表达式背后的代码是Javascript
(?:GTSET|GP0|GPP|L0)\|#0[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]*\|([^;]+)