MatchData (@NotNull Constants.StringKey keyName, @NotNull StringWithId string, int byteOffset, int anchorOffset, boolean matchBeginOfString, @NotNull TextMateLexerState lexerState) { CharSequence regex = lexerState.syntaxRule.getStringAttribute(keyName); if (regex == null) return MatchData.NOT_MATCHED; String regexString = lexerState.syntaxRule.hasBackReference(keyName) ? replaceGroupsWithMatchDataInRegex(regex, lexerState.string, lexerState.matchData) : regex.toString(); return regex(regexString).match(string, byteOffset, anchorOffset, matchBeginOfString, ourCheckCancelledCallback); }