private void InitJvmRegex(PatternData patternData) { machineFactory = new JvmReMachineFactory(patternData); this.group_count = this.machineFactory.GroupCount; this.mapping = this.machineFactory.Mapping; this._groupNumberToNameMap = this.machineFactory.NamesMapping; }
private void Init() { this.machineFactory = cache.Lookup(this.pattern, this.roptions); if (this.machineFactory != null) { this.group_count = this.machineFactory.GroupCount; this.mapping = this.machineFactory.Mapping; this._groupNumberToNameMap = this.machineFactory.NamesMapping; return; } PatternData patternData = null; string errorMessage = null; try{ patternData = PatternDataBuilder.GetPatternData(pattern, roptions); }catch (Exception e) { #if DEBUG throw; #endif errorMessage = "Creating pattern on JVM failed for pattern " + pattern + "\n" + e.Message; } if (patternData == null) { InitNewRegex(); if (errorMessage != null) { Console.WriteLine(errorMessage); } } else { InitJvmRegex(patternData); } cache.Add(this.pattern, this.roptions, this.machineFactory); return; }
internal static void ReplaceMatch(string replacementPattern, Matcher match, StringBuffer sb, string input, PatternData patternData) { replacementPattern = JavaUtils.ReplaceAll(replacementPattern, COPY_ENTIRE_MATCH_PATTERN, match.group()); replacementPattern = JavaUtils.ReplaceAll(replacementPattern, INPUT_BEFORE_MATCH_PATTERN, input.Substring(0, match.start())); replacementPattern = JavaUtils.ReplaceAll(replacementPattern, INPUT_AFTER_MATCH_PATTERN, input.Substring(match.end())); replacementPattern = JavaUtils.ReplaceAll(replacementPattern, INPUT_PATTERN, input); int groupsNumber = match.groupCount(); if (groupsNumber > 0) { Pattern p = Pattern.compile(LAST_CAPTURED_GROUP_PATTERN); Matcher m = p.matcher((CharSequence)(object)replacementPattern); if (m.find()) { while (groupsNumber > 0) { if (match.start(patternData.NetToJavaNumbersMap [groupsNumber]) >= 0) { break; } --groupsNumber; } if (groupsNumber > 0) { replacementPattern = m.replaceAll(match.group(patternData.NetToJavaNumbersMap [groupsNumber])); } } } match.appendReplacement(sb, replacementPattern); }
internal static void ReplaceMatch (string replacementPattern, Matcher match, StringBuffer sb, string input, PatternData patternData) { replacementPattern = JavaUtils.ReplaceAll (replacementPattern, COPY_ENTIRE_MATCH_PATTERN, match.group ()); replacementPattern = JavaUtils.ReplaceAll (replacementPattern, INPUT_BEFORE_MATCH_PATTERN, input.Substring (0, match.start ())); replacementPattern = JavaUtils.ReplaceAll (replacementPattern, INPUT_AFTER_MATCH_PATTERN, input.Substring (match.end ())); replacementPattern = JavaUtils.ReplaceAll (replacementPattern, INPUT_PATTERN, input); int groupsNumber = match.groupCount (); if (groupsNumber > 0) { Pattern p = Pattern.compile (LAST_CAPTURED_GROUP_PATTERN); Matcher m = p.matcher ((CharSequence) (object) replacementPattern); if (m.find ()) { while (groupsNumber > 0) { if (match.start (patternData.NetToJavaNumbersMap [groupsNumber]) >= 0) { break; } --groupsNumber; } if (groupsNumber > 0) { replacementPattern = m.replaceAll (match.group (patternData.NetToJavaNumbersMap [groupsNumber])); } } } match.appendReplacement (sb, replacementPattern); }
internal JvmReMachine (PatternData patternData) { this._patternData = patternData; }
public JvmReMachineFactory(PatternData patternData) { _machine = new JvmReMachine(patternData); }
private void InitJvmRegex (PatternData patternData) { machineFactory = new JvmReMachineFactory (patternData); this.group_count = this.machineFactory.GroupCount; this.mapping = this.machineFactory.Mapping; this._groupNumberToNameMap = this.machineFactory.NamesMapping; }
internal JvmReMachine(PatternData patternData) { this._patternData = patternData; }
public JvmReMachineFactory (PatternData patternData) { _machine = new JvmReMachine (patternData); }