Package org.languagetool.rules.patterns
Class RegexPatternRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.patterns.AbstractPatternRule
-
- org.languagetool.rules.patterns.RegexPatternRule
-
- All Implemented Interfaces:
RuleMatcher
public class RegexPatternRule extends AbstractPatternRule implements RuleMatcher
Matches 'regexp' elements from XML rules against sentences.- Since:
- 3.2
-
-
Field Summary
Fields Modifier and Type Field Description private int
markGroup
private static int
MATCHES_IN_SUGGESTIONS_NUMBERED_FROM
private static java.util.regex.Pattern
matchPattern
private java.util.regex.Pattern
pattern
private java.lang.String
shortMessage
private static java.util.regex.Pattern
suggestionPattern
-
Fields inherited from class org.languagetool.rules.patterns.AbstractPatternRule
antiPatterns, endPositionCorrection, filter, filterArgs, language, message, patternTokens, regex, regexMark, sentStart, sourceFile, startPositionCorrection, subId, suggestionMatches, suggestionMatchesOutMsg, suggestionsOutMsg, testUnification
-
-
Constructor Summary
Constructors Constructor Description RegexPatternRule(java.lang.String id, java.lang.String description, java.lang.String message, java.lang.String shortMessage, java.lang.String suggestionsOutMsg, Language language, java.util.regex.Pattern regex, int regexpMark)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
estimateContextForSureMatch()
A number that estimates how many words there must be after a match before we can be (relatively) sure the match is valid.private @NotNull java.util.List<org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>>
getClausePositionsInMessage(java.util.regex.Pattern pattern, java.lang.String message)
java.util.regex.Pattern
getPattern()
(package private) java.lang.String
getShortMessage()
RuleMatch[]
match(AnalyzedSentence sentenceObj)
Check whether the given sentence matches this error rule, i.e.private java.lang.String
processMessage(java.util.regex.Matcher matcher, java.lang.String message, java.util.List<org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> backReferences, java.util.List<org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> suggestions, java.util.List<Match> matches)
java.lang.String
toString()
-
Methods inherited from class org.languagetool.rules.patterns.AbstractPatternRule
addSuggestionMatch, addSuggestionMatchOutMsg, getAntiPatterns, getDescription, getEndPositionCorrection, getFilter, getFilterArguments, getFullId, getId, getLanguage, getMessage, getPatternRuleId, getPatternTokens, getSourceFile, getStartPositionCorrection, getSubId, getSuggestionMatches, getSuggestionMatchesOutMsg, getSuggestionsOutMsg, isGetUnified, isGroupsOrUnification, isSentStart, isTestUnification, setAntiPatterns, setEndPositionCorrection, setFilter, setFilterArguments, setMessage, setSourceFile, setStartPositionCorrection, setSubId, supportsLanguage
-
Methods inherited from class org.languagetool.rules.Rule
addExamplePair, getCategory, getConfigureText, getCorrectExamples, getDefaultValue, getErrorTriggeringExamples, getIncorrectExamples, getLocQualityIssueType, getMaxConfigurableValue, getMinConfigurableValue, getSentenceWithImmunization, getUrl, hasConfigurableValue, isDefaultOff, isDefaultTempOff, isDictionaryBasedSpellingRule, isOfficeDefaultOff, isOfficeDefaultOn, makeAntiPatterns, setCategory, setCorrectExamples, setDefaultOff, setDefaultOn, setDefaultTempOff, setErrorTriggeringExamples, setIncorrectExamples, setLocQualityIssueType, setOfficeDefaultOff, setOfficeDefaultOn, setUrl, toRuleMatchArray, useInOffice
-
-
-
-
Field Detail
-
suggestionPattern
private static final java.util.regex.Pattern suggestionPattern
-
matchPattern
private static final java.util.regex.Pattern matchPattern
-
MATCHES_IN_SUGGESTIONS_NUMBERED_FROM
private static final int MATCHES_IN_SUGGESTIONS_NUMBERED_FROM
- See Also:
- Constant Field Values
-
pattern
private final java.util.regex.Pattern pattern
-
markGroup
private final int markGroup
-
shortMessage
private final java.lang.String shortMessage
-
-
Constructor Detail
-
RegexPatternRule
public RegexPatternRule(java.lang.String id, java.lang.String description, java.lang.String message, java.lang.String shortMessage, java.lang.String suggestionsOutMsg, Language language, java.util.regex.Pattern regex, int regexpMark)
-
-
Method Detail
-
getPattern
public java.util.regex.Pattern getPattern()
-
match
public RuleMatch[] match(AnalyzedSentence sentenceObj) throws java.io.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 interfaceRuleMatcher
- Overrides:
match
in classAbstractPatternRule
- Parameters:
sentenceObj
- a pre-analyzed sentence- Returns:
- an array of
RuleMatch
objects - Throws:
java.io.IOException
-
getClausePositionsInMessage
@NotNull private @NotNull java.util.List<org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> getClausePositionsInMessage(java.util.regex.Pattern pattern, java.lang.String message)
-
processMessage
private java.lang.String processMessage(java.util.regex.Matcher matcher, java.lang.String message, java.util.List<org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> backReferences, java.util.List<org.apache.commons.lang3.tuple.Pair<java.lang.Integer,java.lang.Integer>> suggestions, java.util.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 classRule
-
toString
public java.lang.String toString()
- Overrides:
toString
in classAbstractPatternRule
-
getShortMessage
java.lang.String getShortMessage()
- Overrides:
getShortMessage
in classAbstractPatternRule
- Returns:
- String of short message as specified in <short>...</short>
-
-