The ikegami solution will take up exponential space to store the string until it is converted to a regular expression (each word will be displayed 2 n - 1 times, where n is the number of words, so the total number of space is at least 2 n - 1 * Sum (word length)). This is not related to the regex engine, since the problem is before the string is converted to a regex.
( , ) ikegami:
^(?=[^ ])(?:(?: |^)John(?= |\z))?+(?:(?: |^)Von(?= |\z))?+(?:(?: |^)Neumann(?= |\z))?+\z
.
:
^
(?=[^ ])
(?:(?: |^)John(?= |\z))?+
(?:(?: |^)Von(?= |\z))?+
(?:(?: |^)Neumann(?= |\z))?+
\z
(?=[^ ]) 2 : , .
?+, ( ), . ? , . , , , , .
, . , .
, . (?= |\z) , (, "John Von Vone", "John Vone").
, ( , ).
, :
^(?= *+[^ ])(?: *+John(?= |\z))?+(?: *+Von(?= |\z))?+(?: *+Neumann(?= |\z))?+ *+\z
( ):
^
(?= *+[^ ])
(?: *+John(?= |\z))?+
(?: *+Von(?= |\z))?+
(?: *+Neumann(?= |\z))?+
*+
\z
(?= *+[^ ]) , .
, (, ). 0 *, , . - (?= |\z).
- ( ). .
:
aaaaaaaaaaaaaaaaaaa0 aaaaaaaaaaaaaaaaaaa1 ... aaaaaaaaaaaaaaaaaaa9 aaaaaaaaaaaaaaaaaaaa ... aaaaaaaaaaaaaaaaaaaz aaaaaaaaaaaaaaaaaaaA ... aaaaaaaaaaaaaaaaaaaZ
( 20 , 0-9, a-z, a-z)
( ):
aaaaaaaaaaaaaaaaaaaz aaaaaaaaaaaaaaaaaaay
(y z)
:
patterns used in Perl pattern matching evolved from those supplied
( )
( ):
patterns used in Perl pattern matching evolved from those suppliedd
( d )
:
aaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaa aaaaaaaaa aaaaaaaa aaaaaaa aaaaaa aaaaa aaaa
( a, .)
( ):
aaaaaaaaaaaa aaaaaaaaaaa aaaaaaaaaa aaaaaaaaa aaaaaaaa aaaaaaa aaaaaa aaaaa aaaaa
( a )
:
performance abc xyz performance 456 !@
( )
( ):
performance performance performance performance