title: clang-tidy: Ignore specific folder from clang-tidy analysis
body: <p>I have the following directory structure</p>
  <p>├── .clang-format</p>
  <p>├── .clang-tidy</p>
  <p>├── external</p>
  <p>├── scripts</p>
  <p>└── source</p>
  <p>For my clang tidy execution I want to only include headers from the <code>source</code> folder and exclude ones from <code>external</code>. The following setting does not work for either match <code>HeaderFilterRegex: '^(source)+(?!.*external).*'</code> The format of the <a href="https://regex101.com/r/SVxrIc/1/" rel="noreferrer">regex is correct</a></p>
  <p>In the <code>.clang-tidy</code> file If I only include <code>HeaderFilterRegex: '^(?!.*external).*'</code> it excludes the <code>external</code> folder but doesn't include the <code>source</code> header files</p>
  <p>and similarly if I only include this check <code>HeaderFilterRegex: '(src/)'</code> it doesn't exclude the external files.</p>
  <p><strong>Update</strong></p>
  <p>Ok this seems like it is related to the fact clang uses Posix ERE regex flavor (thanks @pablo285) and this does not support negative lookahead. I would have thought this was a fairly standard requirement for using clang-tidy, excluding certain folders from the analysis.</p>