How does Apple's "find -regex" work? I'm trying to create a -regex expression for find on macOS.

find /Users/gerben/Library -regex '.*\(cisco\).*' -print 2&gt;/dev/null


works, and so does

find /Users/gerben/Library -regex '.*\(citrix\).*' -print 2&gt;/dev/null


in the sense that they both find files. Now I try

find /Users/gerben/Library -regex '.*\(cisco|citrix\).*' -print 2&gt;/dev/null


and nothing is found. Nor does

find /Users/gerben/Library -regex '.*\(cisco\|citrix\).*' -print 2&gt;/dev/null


nor any other variation with {} escapes and what not that I have tried. What am I doing wrong?
You can use -E flag, from man:


  -E      Interpret regular expressions followed by -regex and -iregex primaries as extended (modern) regular expressions rather than basic regular expressions (BRE's).  The
               re_format(7) manual page fully describes both formats.


In this case your find command will look like: 

find -E ~/Library -regex '.*(citrix|cisco).*' -print 2&gt;/dev/null