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
    AttributeSource
    TokenStream
    TokenFilter
    PatternCaptureGroupTokenFilter
    Implements
    IDisposable
    Inherited Members
    TokenFilter.m_input
    TokenFilter.End()
    TokenFilter.Dispose(Boolean)
    TokenStream.Dispose()
    AttributeSource.GetAttributeFactory()
    AttributeSource.GetAttributeClassesEnumerator()
    AttributeSource.GetAttributeImplsEnumerator()
    AttributeSource.AddAttributeImpl(Attribute)
    AttributeSource.AddAttribute<T>()
    AttributeSource.HasAttributes
    AttributeSource.HasAttribute<T>()
    AttributeSource.GetAttribute<T>()
    AttributeSource.ClearAttributes()
    AttributeSource.CaptureState()
    AttributeSource.RestoreState(AttributeSource.State)
    AttributeSource.GetHashCode()
    AttributeSource.Equals(Object)
    AttributeSource.ReflectAsString(Boolean)
    AttributeSource.ReflectWith(IAttributeReflector)
    AttributeSource.CloneAttributes()
    AttributeSource.CopyTo(AttributeSource)
    AttributeSource.ToString()
    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
    TokenStream input

    the input TokenStream

    System.Boolean preserveOriginal

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

    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
    TokenStream.IncrementToken()
    | Improve this Doc View Source

    Reset()

    Declaration
    public override void Reset()
    Overrides
    TokenFilter.Reset()

    Implements

    IDisposable
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)