Example #1
0
 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;
 }
Example #2
0
        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;
        }
Example #3
0
        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);
        }
Example #4
0
		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);
		}
Example #5
0
		internal JvmReMachine (PatternData patternData) {
			this._patternData = patternData;
		}
Example #6
0
 public JvmReMachineFactory(PatternData patternData)
 {
     _machine = new JvmReMachine(patternData);
 }
Example #7
0
		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;
		}
Example #8
0
 internal JvmReMachine(PatternData patternData)
 {
     this._patternData = patternData;
 }
Example #9
0
		public JvmReMachineFactory (PatternData patternData) {
			_machine = new JvmReMachine (patternData);
		}