我想只捕获匹配部分的区域。我有以下字符串: " type1-class1 type1-class2 type2-class4 type2-type1-class3 "
,我想要下面的结果["class1", "class2"]
。 我正在通过type
搜索课程。 我曾尝试以下操作:正则表达式 - Javascript捕获区域
console.log(" type1-class1 type1-class2 type2-class4 type2-type1-class3 ".match(/\btype1-.*?(?=)/g))
// Result: ["type1-class1", "type1-class2", "type1-class3"]
而且我已经尝试以下操作:
console.log(" type1-class1 type1-class2 type2-class4 type2-type1-class3 ".match(/(?= type1-).*?(?=)/g));
// Result: ["", ""]
如何禁用对正则表达式的开始捕获?
你是什么意思'禁用正则表达式开始捕获? – evolutionxbox
你*有*使用'String#match'而不是'exec'循环吗? –
因为我可以使用(?= ...)来匹配而不是捕捉,所以这只能在匹配的中间/末尾进行,而不是在开始。但是,我想匹配一个字符串,只能得到它的一部分。正如我上面提到的,我想匹配''type1-class1“'并且获得''class1”'并且在''type1-class2“'上匹配并且获得'”class2“'。 – archos