| <!DOCTYPE html> |
| |
| |
| <!-- |
| | Generated by Apache Maven Doxia Site Renderer 2.0.0 from src/site/markdown/exclusion_expression.md at 2025-09-13 |
| | Rendered using Apache Maven Fluido Skin 2.1.0 |
| --> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0" /> |
| <title>RAT Exclusion Expressions – Apache RAT™ Core</title> |
| <link rel="stylesheet" href="./css/apache-maven-fluido-2.1.0.min.css" /> |
| <link rel="stylesheet" href="./css/site.css" /> |
| <link rel="stylesheet" href="./css/print.css" media="print" /> |
| <script src="./js/apache-maven-fluido-2.1.0.min.js"></script> |
| <link href="https://creadur.apache.org/font/matesc.css" type="text/css" rel="stylesheet" /> |
| </head> |
| <body> |
| <a class="github-fork-ribbon right-top" href="https://github.com/apache/creadur-rat" data-ribbon="Fork me on GitHub">Fork me on GitHub</a> |
| <div class="container-fluid container-fluid-top"> |
| <header> |
| <div id="banner"> |
| <div class="pull-left"><div id="bannerLeft"><h1><a href="https://www.apache.org/"><img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" /> Apache RAT</a></h1></div></div> |
| <div class="pull-right"></div> |
| <div class="clear"><hr/></div> |
| </div> |
| |
| <div id="breadcrumbs"> |
| <ul class="breadcrumb"> |
| <li id="publishDate">Last Published: 2025-09-13<span class="divider">|</span> |
| </li> |
| <li id="projectVersion">Version: 0.17-SNAPSHOT<span class="divider">|</span></li> |
| <li><a href="https://www.apache.org/">Apache</a><span class="divider">/</span></li> |
| <li><a href="../../">Creadur</a><span class="divider">/</span></li> |
| <li><a href="../">RAT</a><span class="divider">/</span></li> |
| <li><a href="index.html">Apache RAT™ Core</a><span class="divider">/</span></li> |
| <li class="active">RAT Exclusion Expressions</li> |
| </ul> |
| </div> |
| </header> |
| <div class="row-fluid"> |
| <header id="leftColumn" class="span2"> |
| <nav class="well sidebar-nav"> |
| <ul class="nav nav-list"> |
| <li class="nav-header">Parent Project</li> |
| <li><a href="../index.html">Apache Creadur RAT</a></li> |
| <li class="nav-header">Project Documentation</li> |
| <li><a href="project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li> |
| <li><a href="project-reports.html"><span class="icon-chevron-right"></span>Project Reports</a></li> |
| <li class="nav-header">Apache RAT™</li> |
| <li><a href="../index.html">Introducing RAT</a></li> |
| <li><a href="../download_rat.cgi">Downloads</a></li> |
| <li><a href="../changes.html">Changes</a></li> |
| <li class="nav-header">RAT from the Command Line</li> |
| <li><a href="../apache-rat/index.html">Command Line Introduction</a></li> |
| <li><a href="../apache-rat/cli_options.html">Command Line Options</a></li> |
| <li><a href="../apache-rat-core/exclusion_expression.html">Exclusion Expressions</a></li> |
| <li><a href="../apache-rat/standard_collections.html">Standard Collections</a></li> |
| <li class="nav-header">RAT from Ant</li> |
| <li><a href="../apache-rat-tasks/index.html">Ant Task Introduction</a></li> |
| <li><a href="../apache-rat-tasks/ant_options.html">Ant Elements and Attributes</a></li> |
| <li class="nav-header">RAT from Maven</li> |
| <li><a href="../apache-rat-plugin/index.html">Maven Plugin Introduction</a></li> |
| <li><a href="../apache-rat-plugin/mvn_options.html">Maven Options</a></li> |
| <li><a href="../apache-rat-plugin/examples/index.html">Maven Examples</a></li> |
| <li class="nav-header">Configuring RAT</li> |
| <li><a href="../apache-rat/name_xref.html">Option Name Cross Reference</a></li> |
| <li><a href="../apache-rat/default_licenses.html">Default Licenses</a></li> |
| <li><a href="../apache-rat/default_matchers.html">Default Matchers</a></li> |
| <li><a href="../license_def.html">Defining New Licenses</a></li> |
| <li><a href="../apache-rat/xsd.html">Configuration XSD</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/default.xml">Default Configuration</a></li> |
| <li><a href="../apache-rat/detecting_generated_files.html">Detecting Generated Files</a></li> |
| <li class="nav-header">RAT Output</li> |
| <li><a href="../apache-rat/output/example.html">Standard Output Example</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/rat-report.xsd">Output XSD</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/plain-rat.xsl">XSLT - Plain text</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/missing-headers.xsl">XSLT - Missing headers list</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf/creadur-rat/blob/master/apache-rat-core/src/main/resources/org/apache/rat/unapproved-licenses.xsl">XSLT - Unapproved licenses list</a></li> |
| <li class="nav-header">Developing RAT</li> |
| <li><a href="../architecture.html">Architecture</a></li> |
| <li><a href="../apidocs/index.html">Javadocs</a></li> |
| <li><a href="../apache-rat-core/development/document_name.html">Document Name concept</a></li> |
| <li><a href="../development/ui_implementation.html">UI Development</a></li> |
| <li><a href="../apache-rat-core/development/write_file_processor.html">Writing a File Processor</a></li> |
| <li class="nav-header">Apache Creadur™</li> |
| <li><a href="../..">Creadur Project Home</a></li> |
| <li><a href="../../tentacles">Apache Tentacles</a></li> |
| <li><a href="../../whisker">Apache Whisker</a></li> |
| <li><a href="https://www.apache.org/security/">Security</a></li> |
| <li><a href="https://www.apache.org/licenses/">License</a></li> |
| <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li> |
| <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li> |
| <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li> |
| <li class="nav-header">The Apache Software Foundation</li> |
| <li><a href="https://www.apache.org/foundation">About the Foundation</a></li> |
| <li><a href="https://projects.apache.org">The projects</a></li> |
| <li><a href="https://people.apache.org">The people</a></li> |
| <li><a href="https://www.apache.org/foundation/how-it-works.html">How we work</a></li> |
| <li><a href="https://www.apache.org/foundation/how-it-works.html#history">Our history</a></li> |
| <li><a href="https://blogs.apache.org/foundation/">News</a></li> |
| <li class="nav-header">Contribute</li> |
| <li><a href="https://www.apache.org/foundation/getinvolved.html">Get Involved</a></li> |
| <li class="nav-header">Committer Info</li> |
| <li><a href="https://www.apache.org/dev/committers.html">ASF Committers' FAQ</a></li> |
| <li><a href="https://www.apache.org/dev/new-committers-guide.html">New Committers Guide</a></li> |
| <li><a href="https://gitbox.apache.org/repos/asf/creadur-site/blob/asf-site/README.md">How to publish this site</a></li> |
| <li><a href="https://community.apache.org/">Community</a></li> |
| <li><a href="https://www.apache.org/legal/">Legal</a></li> |
| <li><a href="https://www.apache.org/foundation/marks/">Branding</a></li> |
| <li><a href="https://www.apache.org/press/">Media Relations</a></li> |
| </ul> |
| </nav> |
| <div class="well sidebar-nav"> |
| <div id="poweredBy"> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <a href="https://maven.apache.org/" class="builtBy"><img class="builtBy" src="https://maven.apache.org/images/logos/maven-feather.png" /> Maven</a> |
| </div> |
| </div> |
| </header> |
| <main id="bodyColumn" class="span10"> |
| <!--- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <section><a id="RAT_Exclusion_Expressions"></a> |
| <h1>RAT Exclusion Expressions</h1> |
| <p>RAT uses a variation on the Ant or Git exclusion syntax.</p> |
| <ul> |
| |
| <li><code>?</code> matches a single character. For example ‘ca?’ will match ‘cat’ and ‘can’ but not ‘call’ or the abbreviation for california (or Canada) ‘CA’.</li> |
| <li><code>*</code> matches zero or more characters. For example ‘ca*’ will match ‘cat’, ‘can’, ‘call’ and the abbreviation for california (or Canada) ‘CA’.</li> |
| <li><code>**</code> matches zero or more directories. For example ‘**/ca?’ will match ‘my/cat’, ‘my/can’, ‘the/cat’, ‘the/can’, ‘cat’ and ‘can’.</li> |
| <li><code>!</code> reverses the meaning of the expression. Example “!ca?” will not match “cat” or “can”. See include/exclude notes below.</li> |
| </ul> |
| <p>The table below shows an example of how the <code>*</code> and <code>**</code> differ and interact.</p> |
| <table class="table table-striped"> |
| <thead> |
| <tr class="a"> |
| <th> </th> |
| <th><code>foo/x/y</code></th> |
| <th><code>b/foo</code></th> |
| <th><code>b/foo/x</code></th> |
| <th><code>a/b/foo</code></th> |
| <th><code>foo</code></th> |
| <th><code>a/b/foo/x/y</code></th> |
| <th><code>a/b/foo/x</code></th> |
| <th><code>foo/x</code></th> |
| <th><code>b/foo/x/y</code></th></tr></thead><tbody> |
| <tr class="b"> |
| <td><code>foo</code></td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td></tr> |
| <tr class="a"> |
| <td><code>foo/*</code></td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td></tr> |
| <tr class="b"> |
| <td><code>foo/**</code></td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td></tr> |
| <tr class="a"> |
| <td><code>*/foo</code></td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td></tr> |
| <tr class="b"> |
| <td><code>*/foo/*</code></td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td></tr> |
| <tr class="a"> |
| <td><code>*/foo/**</code></td> |
| <td>F</td> |
| <td>T</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td></tr> |
| <tr class="b"> |
| <td><code>**/foo</code></td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td> |
| <td>T</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td></tr> |
| <tr class="a"> |
| <td><code>**/foo/*</code></td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>F</td> |
| <td>F</td> |
| <td>F</td> |
| <td>T</td> |
| <td>T</td> |
| <td>F</td></tr> |
| <tr class="b"> |
| <td><code>**/foo/**</code></td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td> |
| <td>T</td></tr></tbody> |
| </table> |
| <section><a id="Inclusion.2FExclusion_Notes"></a> |
| <h2>Inclusion/Exclusion Notes</h2> |
| <p>Patterns that are excluded may be superseded by patterns that are included.</p> |
| <p>For example: the exclusion pattern ‘ca*’ used in conjunction with the include ‘cat’ would result in the file ‘cat’ being included but ‘can’, ‘call’ and the abbreviation for california (or Canada) ‘CA’ being excluded.</p> |
| <p>When processed a negated exclusion results in an inclusion, and a negated inclusion results in an exclusion.</p> |
| <p><strong>Once a file is explicitly included it can not be excluded.</strong></p></section><section><a id="Directory_separation_characters"></a> |
| <h2>Directory separation characters</h2> |
| <p>Patterns may use either ‘/’ or ‘\’ as the path separation character. ‘/’ is recommended.</p></section><section><a id="Case_sensitivity"></a> |
| <h2>Case sensitivity</h2> |
| <p>The case sensitivity of the matching patterns depends upon the file system in use. If the file is case-sensitive then the matches are case-sensitive.</p></section></section> </main> |
| </div> |
| </div> |
| <hr/> |
| <footer> |
| <div class="container-fluid"> |
| <div class="row-fluid"> |
| Copyright © 2016-2025 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. |
| Apache Creadur, Creadur, Apache RAT, Apache Tentacles, Apache Whisker, Apache and the ASF logo are trademarks |
| of The Apache Software Foundation. |
| Oracle and Java are registered trademarks of Oracle and/or its affiliates. |
| All other marks mentioned may be trademarks or registered trademarks of their respective owners. |
| </div> |
| </div> |
| </footer> |
| </body> |
| </html> |