``` > /(a?)+/.exec("aaa") Array [ "aaa", "a" ] > /((b)?(be)?)+bbee/.exec("bbebbee") Array(4) [ "bbebbee", "bbe", "b", "be" ] ``` ~Firefox But in libc++, the equivalent operations return `[ "aaa", "" ]` and `[ "bbebbee", "", undefined, undefined ]`. Full example: https://godbolt.org/z/zYYenvEdb (blatantly modified from https://github.com/microsoft/STL/issues/5365) Bug also exists in libstdc++ and ms-stl https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120212 https://github.com/microsoft/STL/issues/5490