Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class PatternCaptureGroupTokenFilter

    CaptureGroup uses .NET regexes to emit multiple tokens - one for each capture group in one or more patterns.

    For example, a pattern like:

    "(https?://([a-zA-Z-_0-9.]+))"

    when matched against the string "http://www.foo.com/index"; would return the tokens "https://www.foo.com" and "www.foo.com".

    If none of the patterns match, or if preserveOriginal is true, the original token will be preserved.

    Each pattern is matched as often as it can be, so the pattern "(...)", when matched against "abcdefghi" would produce ["abc","def","ghi"]

    A camelCaseFilter could be written as:

      "([A-Z]{2,})",                                 
      "(?<![A-Z])([A-Z][a-z]+)",                     
      "(?:^|\\b|(?<=[0-9_])|(?<=[A-Z]{2}))([a-z]+)", 
      "([0-9]+)"

    plus if Lucene.Net.Analysis.Pattern.PatternCaptureGroupTokenFilter.preserveOriginal is true, it would also return camelCaseFilter

    Inheritance
    System.Object
    Lucene.Net.Util.AttributeSource
    Lucene.Net.Analysis.TokenStream
    Lucene.Net.Analysis.TokenFilter
    PatternCaptureGroupTokenFilter
    Implements
    System.IDisposable
    Inherited Members
    Lucene.Net.Analysis.TokenFilter.m_input
    Lucene.Net.Analysis.TokenFilter.End()
    TokenFilter.Dispose(Boolean)
    Lucene.Net.Analysis.TokenStream.Dispose()
    Lucene.Net.Util.AttributeSource.GetAttributeFactory()
    Lucene.Net.Util.AttributeSource.GetAttributeClassesEnumerator()
    Lucene.Net.Util.AttributeSource.GetAttributeImplsEnumerator()
    Lucene.Net.Util.AttributeSource.AddAttributeImpl(Lucene.Net.Util.Attribute)
    Lucene.Net.Util.AttributeSource.AddAttribute<T>()
    Lucene.Net.Util.AttributeSource.HasAttributes
    Lucene.Net.Util.AttributeSource.HasAttribute<T>()
    Lucene.Net.Util.AttributeSource.GetAttribute<T>()
    Lucene.Net.Util.AttributeSource.ClearAttributes()
    Lucene.Net.Util.AttributeSource.CaptureState()
    Lucene.Net.Util.AttributeSource.RestoreState(Lucene.Net.Util.AttributeSource.State)
    Lucene.Net.Util.AttributeSource.GetHashCode()
    AttributeSource.Equals(Object)
    AttributeSource.ReflectAsString(Boolean)
    Lucene.Net.Util.AttributeSource.ReflectWith(Lucene.Net.Util.IAttributeReflector)
    Lucene.Net.Util.AttributeSource.CloneAttributes()
    Lucene.Net.Util.AttributeSource.CopyTo(Lucene.Net.Util.AttributeSource)
    Lucene.Net.Util.AttributeSource.ToString()
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    Namespace: Lucene.Net.Analysis.Pattern
    Assembly: Lucene.Net.Analysis.Common.dll
    Syntax
    public sealed class PatternCaptureGroupTokenFilter : TokenFilter, IDisposable

    Constructors

    | Improve this Doc View Source

    PatternCaptureGroupTokenFilter(TokenStream, Boolean, Regex[])

    Creates a new PatternCaptureGroupTokenFilter

    Declaration
    public PatternCaptureGroupTokenFilter(TokenStream input, bool preserveOriginal, params Regex[] patterns)
    Parameters
    Type Name Description
    Lucene.Net.Analysis.TokenStream input

    the input Lucene.Net.Analysis.TokenStream

    System.Boolean preserveOriginal

    set to true to return the original token even if one of the patterns matches

    System.Text.RegularExpressions.Regex[] patterns

    an array of Lucene.Net.Analysis.Pattern objects to match against each token

    Methods

    | Improve this Doc View Source

    IncrementToken()

    Declaration
    public override bool IncrementToken()
    Returns
    Type Description
    System.Boolean
    Overrides
    Lucene.Net.Analysis.TokenStream.IncrementToken()
    | Improve this Doc View Source

    Reset()

    Declaration
    public override void Reset()
    Overrides
    Lucene.Net.Analysis.TokenFilter.Reset()

    Implements

    System.IDisposable
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.