Bill Fisher: This patch fixes a bug where std::regex in ECMAScript mode was ignoring capture groups inside lookahead assertions.

For example, matching /(?=(a))(a)/ to "a" should yield two captures: \1 = "a", \2 = "a"