Are you failing to supply the trailing slash on the pre-rewrite URL? That regex won’t match without it.
Since your /parent-page and /parent-page/child-page are WordPress pages you shouldn’t be using .htacceess for this at all, because it would prevent WordPress from loading for those URLs. Instead you should be hooking to query_vars
so WordPress won’t strip your new variable from the querystring and to rewrite_rules_array
to handle the actual rewrite.