コード例 #1
0
        public string[] ExportOptions( )
        {
            DotNetRegexOptions options = OptionsControl.GetSelectedOptions( );
            var json = JsonSerializer.Serialize(options);

            return(new[] { $"json:{json}" });
        }
コード例 #2
0
        internal void SetSelectedOptions(DotNetRegexOptions options)
        {
            try
            {
                ++ChangeCounter;

                Options     = options.Clone( );
                DataContext = Options;
            }
            finally
            {
                --ChangeCounter;
            }
        }
コード例 #3
0
        public IMatcher ParsePattern(string pattern)
        {
            DotNetRegexOptions options = OptionsControl.GetSelectedOptions( );
            RegexOptions       regex_native_options = options.NativeOptions;
            TimeSpan           timeout = TimeSpan.FromMilliseconds(options.TimeoutMs);

            if (timeout <= TimeSpan.Zero)
            {
                timeout = TimeSpan.FromSeconds(10);
            }

            var regex = new Regex(pattern, regex_native_options, timeout);

            return(new DotNetMatcher(regex));
        }
コード例 #4
0
        public void ImportOptions(string[] options)
        {
            var json = options.FirstOrDefault(o => o.StartsWith("json:"))?.Substring("json:".Length);

            DotNetRegexOptions options_obj;

            if (string.IsNullOrWhiteSpace(json))
            {
                options_obj = new DotNetRegexOptions( );
            }
            else
            {
                options_obj = JsonSerializer.Deserialize <DotNetRegexOptions>(json);
            }

            OptionsControl.SetSelectedOptions(options_obj);
        }