Class RegexPatternRule

All Implemented Interfaces:
RuleMatcher

public class RegexPatternRule extends AbstractPatternRule implements RuleMatcher
Matches 'regexp' elements from XML rules against sentences.
Since:
3.2
  • Field Details

    • suggestionPattern

      private static final Pattern suggestionPattern
    • matchPattern

      private static final Pattern matchPattern
    • MATCHES_IN_SUGGESTIONS_NUMBERED_FROM

      private static final int MATCHES_IN_SUGGESTIONS_NUMBERED_FROM
      See Also:
    • pattern

      private final Pattern pattern
    • markGroup

      private final int markGroup
    • shortMessage

      private final String shortMessage
  • Constructor Details

  • Method Details

    • getPattern

      public Pattern getPattern()
    • match

      public RuleMatch[] match(AnalyzedSentence sentenceObj) throws IOException
      Description copied from class: Rule
      Check whether the given sentence matches this error rule, i.e. whether it contains the error detected by this rule. Note that the order in which this method is called is not always guaranteed, i.e. the sentence order in the text may be different than the order in which you get the sentences (this may be the case when LanguageTool is used as a LibreOffice/OpenOffice add-on, for example).
      Specified by:
      match in interface RuleMatcher
      Overrides:
      match in class AbstractPatternRule
      Parameters:
      sentenceObj - a pre-analyzed sentence
      Returns:
      an array of RuleMatch objects
      Throws:
      IOException
    • getClausePositionsInMessage

      @NotNull private @NotNull List<org.apache.commons.lang3.tuple.Pair<Integer,Integer>> getClausePositionsInMessage(Pattern pattern, String message)
    • processMessage

      private String processMessage(Matcher matcher, String message, List<org.apache.commons.lang3.tuple.Pair<Integer,Integer>> backReferences, List<org.apache.commons.lang3.tuple.Pair<Integer,Integer>> suggestions, List<Match> matches)
    • estimateContextForSureMatch

      public int estimateContextForSureMatch()
      Description copied from class: Rule
      A number that estimates how many words there must be after a match before we can be (relatively) sure the match is valid. This is useful for check-as-you-type, where a match might occur and the word that gets typed next makes the match disappear (something one would obviously like to avoid). Note: this may over-estimate the real context size. Returns -1 when the sentence needs to end to be sure there's a match.
      Overrides:
      estimateContextForSureMatch in class Rule
    • toString

      public String toString()
      Overrides:
      toString in class AbstractPatternRule
    • getShortMessage

      String getShortMessage()
      Overrides:
      getShortMessage in class AbstractPatternRule
      Returns:
      String of short message as specified in <short>...</short>