/(test|test1|is(cold|warm|large|small))/
iscold / iswarm / islarge / issmall
是两个不同的组,因为“is”来自group1,其背后的一切都来自第2组。
我怎样才能将它组成一个组,因此iscold|iswarm|islarge|issmall
应该是一个组,而不必每次都在它前面键入“is”。
答案 0 :(得分:7)
从技术上讲,他们已经在同一组(1号)。您只是匹配第二组中的cold
/ warm
...部分,,显然您并不关心。
如果您想避免这种无用的捕获,可以使用非捕获组(?:...)
;
/(test|test1|is(?:cold|warm|large|small))/
答案 1 :(得分:4)
对子部分使用非捕获组。
/(test|test1|is(?:cold|warm|large|small))/