You didn't go wrong anywhere. The Rule does exactly what you told it to do:
is correct for "there may be more directories here". You may want to set a non-capture flag on the inner part, but it isn't essential:
The second piece
means "now capture any leftover text that contains neither a directory slash nor a full stop, and then get your full stop, and wind up with "html" or "zip".
Ordinarily this too is exactly the right way to do things. But it breaks when there are full stops before the one setting off the final extension. (I assume you've got things like blahblah.xtn.zip with duplicate extensions.) You will have to change the final capture to either
If the filename can only contain one extra full stop, it may run a little faster as
Finally, if your potential multiply-stopped filename is always in the form
--or in some other specific form-- you can further fine-tune the Rule... but I'll stop here, because I'm getting tired :)