Example #1
0
        public RegexSearchPattern GetValue(RegexKey regexKey)
        {
            RegexSearchPattern regexSearchPattern = new RegexSearchPattern();

            _patterns.TryGetValue(regexKey.ToString(), out regexSearchPattern);

            return(regexSearchPattern);
        }
Example #2
0
        public void should_freeze_settings()
        {
            var settings = new PcreRegexSettings();

            Assert.That(settings.ReadOnlySettings, Is.False);

            var key = new RegexKey("test", settings);

            Assert.That(key.Settings.ReadOnlySettings, Is.True);
            Assert.That(settings.ReadOnlySettings, Is.False);
        }
Example #3
0
        public void should_not_compare_equal()
        {
            var defaults = new PcreRegexSettings();
            var other    = new PcreRegexSettings
            {
                ParensLimit = 42
            };

            var keyA = new RegexKey("test", defaults);
            var keyB = new RegexKey("test", other);

            Assert.That(keyA, Is.Not.EqualTo(keyB));
        }
Example #4
0
        public PcreRegex(string pattern, PcreRegexSettings settings)
        {
            if (pattern == null)
            {
                throw new ArgumentNullException("pattern");
            }
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }

            Key = new RegexKey(pattern, settings);
            _re = Caches.RegexCache.GetOrAdd(Key);
        }
Example #5
0
        public void should_compare_equal()
        {
            var implicitDefaults = new PcreRegexSettings();
            var explicitDefaults = new PcreRegexSettings
            {
                NewLine     = PcreBuildInfo.NewLine,
                BackslashR  = PcreBuildInfo.BackslashR,
                ParensLimit = PcreBuildInfo.ParensLimit
            };

            var keyA = new RegexKey("test", implicitDefaults);
            var keyB = new RegexKey("test", explicitDefaults);

            Assert.That(keyA, Is.EqualTo(keyB));
        }
        public static string GetRegexValue(this string line, RegexKey regexKey, RegexGroup regexGroup)
        {
            string result      = "";
            string replaceLine = "";

            var patterns = new RegexPatterns();
            var keys     = patterns.GetValue(regexKey);

            if (line != null)
            {
                replaceLine = Regex.Replace(line, keys.OriginalKey, keys.ReplaceKey);
                var match = Regex.Match(replaceLine, keys.RegexSearchKey);

                result = match.Groups[(int)regexGroup].Value;
            }


            return(result);
        }