Use $wpdb or other PHP script method to find/replace in WP database

wpdb doesn’t have a built in regex replace function. The easiest solution would be to loop through all of their posts, check the contents for the incorrectly formatted shortcode, and perform the regex replace on the post contents. It might not be as fast as a pure-SQL solution, but it would be less prone to error. You could make it run once when the updated version of the plugin is activated.

You can use WP_Query to iterate through all posts and check post contents, then wp_update_post to make changes to post contents.

Alternatively, if you wanted to ensure that users are aware of the changes being made, you could check all of their posts for instances of incorrectly formatted shortcodes, and if any are found, you could add an admin notice letting them know that a database update needs to be done. Then you can add a recommendation to take a backup first, and a button to make the post changes to fix the shortcodes automatically.