I wanted to replace many occurrences of
g_theme.themeDisplay(100, 80, 65)
by
g_theme.thSz([100, 80, 65])
in many QML files. The values of the three integer arguments varied from occurrence to occurrence. What I hoped for was that QtCreator’s search & replace function for regular expressions would support captured texts – the three arguments.
I entered
g_theme.themeDisplay\(([^\)]+)\)
in the field “Search for” of QtCreator’s search function, ticked “Use regular expressions”, and hit “Search & replace”. In the entry field for the replacement string, I entered
g_theme.thSz([\1])
and hit the “Replace” button. And – all was magically done!
The regular expression of the search term captures the text inside the parentheses of the function call with the subexpression ([^\)]+)
. The unescaped parentheses mark the text to be captured. The captured text is just everything that does not match a closing parenthesis – that is everything between the original opening and closing parenthesis.
The replace term accesses this captured text with \1
. It’s all exactly as you would expect it from the QRegExp class.