正则表达式:
"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标记?
最佳答案
我想您要的是match
,而不是split
:
m = "12 DOse Flaschentomaten".match(/(\d+(?:\s(?:Dose|TL|EL))?)\s+(.*)/i)
document.write("<pre>" + JSON.stringify(m,0,3));
添加
m.shift()
删除第一个元素(=整个匹配项)。关于javascript - 某些字词或数字后的Javascript正则表达式拆分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29094910/