At present, ve.dm.Document#findText spends a lot of time grinding through linear data. Here are some basic profiling results with 100 regexp TextMatchEditChecks running:
2892 ve.dm.Document#findText:
2401 ve.dm.LinearData#forEachRunOfContent
...
845 ve.dm.LinearData#getCharacterData
715 ve.dm.LinearData#isElementData
575 ve.dm.TextFinder#find
213 ve.dm.RegExpTextFinder.findRangesAs the profile shows, 7x longer is spent grinding linear data than actually testing regular expressions.