With this change, we will put a 'null' placeholder if there is a non-matching capture group. We should clarify this new semantics using an example in the docs.
This is also backported to 4.2. We will need to update the docs for 4.2 as well.
When running a simple regex query against 4.2.1 the mongod will crash with:
2019-11-14T05:52:41.884-0500 F - [conn1] terminate() called. An exception is active; attempting to gather more information
2019-11-14T05:52:41.982-0500 F - [conn1] std::exception::what(): out of range
$regexFind crash when one of the capture group doesn't match the input but pattern matches