What searchFiles can and cannot do
The Drive query language accepts a small fixed set of operators: title contains, title = , fullText contains, mimeType =, and a handful of others. It does not accept regular expressions. That means you cannot write a query like 'title matches /Report_20\d{2}/' and expect Drive to filter for you.
The practical split: use the Drive query to narrow the result set to files whose title contains the substring you want to replace, then do the actual pattern work in JavaScript once you have the file objects. The script above uses split().join() rather than replace() because replace() without a regex only swaps the first occurrence; split().join() replaces all occurrences in one step, which matters when your substring appears more than once in a filename.
The trashed = false clause is worth keeping. Without it, searchFiles returns files sitting in the trash, and renaming them is legal but confusing when they resurface after a restore.