In such cases, most people around here seem to be content to manually edit each match. I don't know how much time you'd save, or how many buttons you'd end up needing to use

but as you wish.
I've never tried opening a dialog box from a regex function, it might work. The input() functions OTOH are not meant to be run in a GUI -- like, ever.
P.S. calibre already knows about Qt dialog boxes, which don't necessitate using platform-dependent code.

You have no need to use APIs.