Thanks for your request. Unfortunately, I cannot reproduce the problem on my side. I use the latest version of Aspose.Words for testing. You can download it from here:
Also, please try to change your code as shown below:
doc.Range.Replace(regex, new ReplaceKeywordEvaluator(), false);
Thanks for your help!
Thanks for your request. This parameter specifies the direction of replacing process. If it is false Aspose.Words will replace from the end of the document to the beginning. Since you are modifying the document tree upon your replacing process, it is recommended to replace from the end of the document. In this case every next occurrence will be processed in the untouched part of the document tree.
It is perfect that you managed to resolve your second issue. Please feel free to ask in case of any issues, we are always glad to assist you.
Thanks a lot! Now I got it.