﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class PatternTokenizer
   | Apache Lucene.NET 4.8.0-beta00008 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class PatternTokenizer
   | Apache Lucene.NET 4.8.0-beta00008 Documentation ">
    <meta name="generator" content="docfx 2.50.0.0">
    
    <link rel="shortcut icon" href="../../logo/favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="../toc.html">
    
    <meta property="docfx:rel" content="../../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer">
  
  
  <h1 id="Lucene_Net_Analysis_Pattern_PatternTokenizer" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer" class="text-break">Class PatternTokenizer
  </h1>
  <div class="markdown level0 summary"><p>This tokenizer uses regex pattern matching to construct distinct tokens
for the input stream.  It takes two arguments:  &quot;pattern&quot; and &quot;group&quot;.
<p>
<ul><li>&quot;pattern&quot; is the regular expression.</li><li>&quot;group&quot; says which group to extract into tokens.</li></ul>
<p>
group=-1 (the default) is equivalent to &quot;split&quot;.  In this case, the tokens will
be equivalent to the output from (without empty tokens):
<span class="xref">System.Text.RegularExpressions.Regex.Replace(System.String,System.String)</span>
</p>
<p>
Using group &gt;= 0 selects the matching group as the token.  For example, if you have:<br></p>
<pre><code> pattern = \&apos;([^\&apos;]+)\&apos;
 group = 0
 input = aaa &apos;bbb&apos; &apos;ccc&apos;</code></pre>
<p>the output will be two tokens: &apos;bbb&apos; and &apos;ccc&apos; (including the &apos; marks).  With the same input
but using group=1, the output would be: bbb and ccc (no &apos; marks)
</p>
<p>NOTE: This <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html">Tokenizer</a> does not output tokens that are of zero length.</p></p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html">AttributeSource</a></div>
    <div class="level2"><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html">TokenStream</a></div>
    <div class="level3"><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html">Tokenizer</a></div>
    <div class="level4"><span class="xref">PatternTokenizer</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.IDisposable</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html#Lucene_Net_Analysis_Tokenizer_m_input">Tokenizer.m_input</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html#Lucene_Net_Analysis_Tokenizer_Dispose_System_Boolean_">Tokenizer.Dispose(Boolean)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html#Lucene_Net_Analysis_Tokenizer_CorrectOffset_System_Int32_">Tokenizer.CorrectOffset(Int32)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html#Lucene_Net_Analysis_Tokenizer_SetReader_System_IO_TextReader_">Tokenizer.SetReader(TextReader)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html#Lucene_Net_Analysis_TokenStream_Dispose">TokenStream.Dispose()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttributeFactory">AttributeSource.GetAttributeFactory()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttributeClassesEnumerator">AttributeSource.GetAttributeClassesEnumerator()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttributeImplsEnumerator">AttributeSource.GetAttributeImplsEnumerator()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_AddAttributeImpl_Lucene_Net_Util_Attribute_">AttributeSource.AddAttributeImpl(Attribute)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_AddAttribute__1">AttributeSource.AddAttribute&lt;T&gt;()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_HasAttributes">AttributeSource.HasAttributes</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_HasAttribute__1">AttributeSource.HasAttribute&lt;T&gt;()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetAttribute__1">AttributeSource.GetAttribute&lt;T&gt;()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ClearAttributes">AttributeSource.ClearAttributes()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_CaptureState">AttributeSource.CaptureState()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_RestoreState_Lucene_Net_Util_AttributeSource_State_">AttributeSource.RestoreState(AttributeSource.State)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_GetHashCode">AttributeSource.GetHashCode()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_Equals_System_Object_">AttributeSource.Equals(Object)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ReflectAsString_System_Boolean_">AttributeSource.ReflectAsString(Boolean)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ReflectWith_Lucene_Net_Util_IAttributeReflector_">AttributeSource.ReflectWith(IAttributeReflector)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_CloneAttributes">AttributeSource.CloneAttributes()</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_CopyTo_Lucene_Net_Util_AttributeSource_">AttributeSource.CopyTo(AttributeSource)</a>
    </div>
    <div>
      <a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.html#Lucene_Net_Util_AttributeSource_ToString">AttributeSource.ToString()</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Analysis.Pattern.html">Lucene.Net.Analysis.Pattern</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Analysis.Common.dll</h6>
  <h5 id="Lucene_Net_Analysis_Pattern_PatternTokenizer_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public sealed class PatternTokenizer : Tokenizer, IDisposable</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Pattern_PatternTokenizer__ctor_Lucene_Net_Util_AttributeSource_AttributeFactory_System_IO_TextReader_System_Text_RegularExpressions_Regex_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Pattern.PatternTokenizer.%23ctor(Lucene.Net.Util.AttributeSource.AttributeFactory%2CSystem.IO.TextReader%2CSystem.Text.RegularExpressions.Regex%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Common/Analysis/Pattern/PatternTokenizer.cs/#L73">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Pattern_PatternTokenizer__ctor_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.#ctor*"></a>
  <h4 id="Lucene_Net_Analysis_Pattern_PatternTokenizer__ctor_Lucene_Net_Util_AttributeSource_AttributeFactory_System_IO_TextReader_System_Text_RegularExpressions_Regex_System_Int32_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.#ctor(Lucene.Net.Util.AttributeSource.AttributeFactory,System.IO.TextReader,System.Text.RegularExpressions.Regex,System.Int32)">PatternTokenizer(AttributeSource.AttributeFactory, TextReader, Regex, Int32)</h4>
  <div class="markdown level1 summary"><p>creates a new <a class="xref" href="Lucene.Net.Analysis.Pattern.PatternTokenizer.html">PatternTokenizer</a> returning tokens from group (-1 for split functionality) </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public PatternTokenizer(AttributeSource.AttributeFactory factory, TextReader input, Regex pattern, int group)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="../Lucene.Net/Lucene.Net.Util.AttributeSource.AttributeFactory.html">AttributeSource.AttributeFactory</a></td>
        <td><span class="parametername">factory</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.IO.TextReader</span></td>
        <td><span class="parametername">input</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Text.RegularExpressions.Regex</span></td>
        <td><span class="parametername">pattern</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">group</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Pattern_PatternTokenizer__ctor_System_IO_TextReader_System_Text_RegularExpressions_Regex_System_Int32_.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Pattern.PatternTokenizer.%23ctor(System.IO.TextReader%2CSystem.Text.RegularExpressions.Regex%2CSystem.Int32)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Common/Analysis/Pattern/PatternTokenizer.cs/#L66">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Pattern_PatternTokenizer__ctor_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.#ctor*"></a>
  <h4 id="Lucene_Net_Analysis_Pattern_PatternTokenizer__ctor_System_IO_TextReader_System_Text_RegularExpressions_Regex_System_Int32_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.#ctor(System.IO.TextReader,System.Text.RegularExpressions.Regex,System.Int32)">PatternTokenizer(TextReader, Regex, Int32)</h4>
  <div class="markdown level1 summary"><p>creates a new <a class="xref" href="Lucene.Net.Analysis.Pattern.PatternTokenizer.html">PatternTokenizer</a> returning tokens from group (-1 for split functionality) </p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public PatternTokenizer(TextReader input, Regex pattern, int group)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.IO.TextReader</span></td>
        <td><span class="parametername">input</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Text.RegularExpressions.Regex</span></td>
        <td><span class="parametername">pattern</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">group</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Pattern_PatternTokenizer_End.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Pattern.PatternTokenizer.End%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Common/Analysis/Pattern/PatternTokenizer.cs/#L172">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Pattern_PatternTokenizer_End_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.End*"></a>
  <h4 id="Lucene_Net_Analysis_Pattern_PatternTokenizer_End" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.End">End()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void End()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html#Lucene_Net_Analysis_TokenStream_End">TokenStream.End()</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Pattern_PatternTokenizer_IncrementToken.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Pattern.PatternTokenizer.IncrementToken%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Common/Analysis/Pattern/PatternTokenizer.cs/#L94">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Pattern_PatternTokenizer_IncrementToken_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.IncrementToken*"></a>
  <h4 id="Lucene_Net_Analysis_Pattern_PatternTokenizer_IncrementToken" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.IncrementToken">IncrementToken()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool IncrementToken()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.TokenStream.html#Lucene_Net_Analysis_TokenStream_IncrementToken">TokenStream.IncrementToken()</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Pattern_PatternTokenizer_Reset.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Pattern.PatternTokenizer.Reset%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Common/Analysis/Pattern/PatternTokenizer.cs/#L179">View Source</a>
  </span>
  <a id="Lucene_Net_Analysis_Pattern_PatternTokenizer_Reset_" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.Reset*"></a>
  <h4 id="Lucene_Net_Analysis_Pattern_PatternTokenizer_Reset" data-uid="Lucene.Net.Analysis.Pattern.PatternTokenizer.Reset">Reset()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override void Reset()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="../Lucene.Net/Lucene.Net.Analysis.Tokenizer.html#Lucene_Net_Analysis_Tokenizer_Reset">Tokenizer.Reset()</a></div>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.IDisposable</span>
  </div>
  <h3 id="seealso">See Also</h3>
  <div class="seealso">
      <div><span class="xref">System.Text.RegularExpressions.Regex</span></div>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00008/websites/apidocs/apiSpec/new?filename=Lucene_Net_Analysis_Pattern_PatternTokenizer.md&amp;value=---%0Auid%3A%20Lucene.Net.Analysis.Pattern.PatternTokenizer%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/Shazwazza/lucenenet/blob/docs-may/src/Lucene.Net.Analysis.Common/Analysis/Pattern/PatternTokenizer.cs/#L51" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 Licensed to the Apache Software Foundation (ASF)
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
