Finding multiple file types containing specific text

That search means this:

(*.cpp or (*.ino or (*.h and contains "sercom")))

You generally need to use sub-clause if you want to combine AND and OR conditions. (Standard boolean logic.)

But in this case you can do things even easier:

Name *.(cpp|ino|h)
And
Contains "sercom"

Full examples in this almost identical thread from a few hours earlier: How to find multiple file types