正则表达式:
"12 DOse Flaschentomaten".split(/(\d+(?:\s(?:Dose|TL|EL)){0,})\s+(.*)/gi)
让我使用正则表达式工具(https://www.regex101.com/)两组:
12 DOse
Flaschentomaten
这就是我想要的。
但是在javascript控制台中这个数组
["", "12 DOse", "Flaschentomaten", ""]
附带问题: 如果我想使用外部数组作为过滤词,我必须将其定义为字符串: var filterWords =“sp,ts,spoon”; 我是否也可以仅对群组使用i标签不区分大小写?
答案 0 :(得分:1)
我想你想要match
,而不是split
:
m = "12 DOse Flaschentomaten".match(/(\d+(?:\s(?:Dose|TL|EL))?)\s+(.*)/i)
document.write("<pre>" + JSON.stringify(m,0,3));
&#13;
添加m.shift()
以删除第一个元素(=整个匹配)。