Internet Explorer – regex does not work with IE11 (works everywhere else)

The following pattern:

^p{L}(?:(p{L}. -)*p{L})?$

is applied to a form text field and doesn't seem to work in IE11 (but no errors).

It should allow SomeFirstName (does not work) and not SomeFirstNameWithSpaceAtTheEnd (works).

Any ideas why the first value is not validated in IE11?