Regex (field extraction) as coupled with sourcetype itself, so you don't need anything to be done there. Sourcetype and index are not directly related and their relationship is defined via inputs. While configuring inputs, you specify data from the input should go to which index and follow properties of which sourcetype. So if you want data for one sourcetype to be stored in indexB instead on indexA, you need to change your input to index data in indexB-sourcetype instead of (current) indexA-sourcetype.
You don't. sourcetype is set at the Inputs level. Regex is set for Search time. It doesn't matter which index the data is residing in, as long as the sourcetypes are the same.
You will want to review this: http://docs.splunk.com/Documentation/Splunk/latest/Knowledge/Prerequisitesforknowledgemanagement