##
(?(?=\z)(?{ die }))
##
##
.*?abc(def)?
##
##
(?(?!\z)
.*?
(?(?!\z)
abc
(?(?!\z)
(def)?
|
(?{ $PREMATURE_INPUT_END++ })
)
|
(?{ $PREMATURE_INPUT_END++ })
)
|
(?{ $PREMATURE_INPUT_END++ })
)