Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RegexDiff X64] MihaZupan/runtime/regex-svNames #623

Closed
MihuBot opened this issue Sep 5, 2024 · 1 comment
Closed

[RegexDiff X64] MihaZupan/runtime/regex-svNames #623

MihuBot opened this issue Sep 5, 2024 · 1 comment

Comments

@MihuBot
Copy link
Owner

MihuBot commented Sep 5, 2024

Job completed in 19 minutes 15 seconds.

Using arguments: regexdiff -NoPRLink

ERROR: System.AggregateException: One or more errors occurred. (Attempted to divide by zero.)
 ---> System.DivideByZeroException: Attempted to divide by zero.
   at Runner.Jobs.RegexDiffJob.<>c__DisplayClass10_2.<RunJitDiffAsync>b__6(Int32 i) in /home/runtime-utils/Runner/Jobs/RegexDiffJob.cs:line 564
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`2.<ForWorker>b__1(RangeWorker& currentWorker, Int64 timeout, Boolean& replicationDelegateYieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion)
   at System.Threading.Tasks.TaskReplicator.Replica.Execute()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure)
   at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt fromInclusive, TInt toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.ForWorker[TLocal,TInt](TInt fromInclusive, TInt toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.For(Int32 fromInclusive, Int32 toExclusive, Action`1 body)
   at Runner.Jobs.RegexDiffJob.<>c__DisplayClass10_1.<<RunJitDiffAsync>b__5>d.MoveNext() in /home/runtime-utils/Runner/Jobs/RegexDiffJob.cs:line 562
--- End of stack trace from previous location ---
   at System.Threading.Tasks.Parallel.<>c__49`1.<<ForAsync>b__49_2>d.MoveNext()
--- End of stack trace from previous location ---
   at Runner.Jobs.RegexDiffJob.<>c__DisplayClass10_0.<<RunJitDiffAsync>g__GenerateRegexAssembliesAsync|1>d.MoveNext() in /home/runtime-utils/Runner/Jobs/RegexDiffJob.cs:line 543
--- End of stack trace from previous location ---
   at Runner.Jobs.RegexDiffJob.RunJitDiffAsync(KnownPattern[] knownPatterns, RegexEntry[] entries) in /home/runtime-utils/Runner/Jobs/RegexDiffJob.cs:line 508
   at Runner.Jobs.RegexDiffJob.RunJobCoreAsync() in /home/runtime-utils/Runner/Jobs/RegexDiffJob.cs:line 50
   at Runner.JobBase.RunJobAsync() in /home/runtime-utils/Runner/JobBase.cs:line 116
Examples of GeneratedRegex source diffs

435 out of 18885 patterns have generated source code changes.

"\\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z ..." (5703 uses)
[GeneratedRegex("\\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\\Z", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.CultureInvariant)]
                      //{
                          charloop_starting_pos1 = pos;
                          
-                           int iteration2 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F);
+                           int iteration2 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashKelvinSign);
                          if (iteration2 < 0)
                          {
                              iteration2 = slice.Length;
                          }
                          
                          if (charloop_starting_pos1 >= charloop_ending_pos1 ||
-                               (charloop_ending_pos1 = inputSpan.Slice(charloop_starting_pos1, charloop_ending_pos1 - charloop_starting_pos1).LastIndexOfAny(Utilities.s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527)) < 0)
+                               (charloop_ending_pos1 = inputSpan.Slice(charloop_starting_pos1, charloop_ending_pos1 - charloop_starting_pos1).LastIndexOfAny(Utilities.s_asciiLettersAndDigitsAndKelvinSign)) < 0)
                          {
                              goto LoopIterationNoMatch2;
                          }
                  //{
                      charloop_starting_pos2 = pos;
                      
-                       int iteration3 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F);
+                       int iteration3 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashKelvinSign);
                      if (iteration3 < 0)
                      {
                          iteration3 = slice.Length;
                      }
                      
                      if (charloop_starting_pos2 >= charloop_ending_pos2 ||
-                           (charloop_ending_pos2 = inputSpan.Slice(charloop_starting_pos2, charloop_ending_pos2 - charloop_starting_pos2).LastIndexOfAny(Utilities.s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527)) < 0)
+                           (charloop_ending_pos2 = inputSpan.Slice(charloop_starting_pos2, charloop_ending_pos2 - charloop_starting_pos2).LastIndexOfAny(Utilities.s_asciiLettersAndDigitsAndKelvinSign)) < 0)
                      {
                          goto LoopIterationNoMatch3;
                      }
  }
  
  /// <summary>Supports searching for characters in or not in "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-   internal static readonly SearchValues<char> s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+   internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndDashKelvinSign = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
  
  /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-   internal static readonly SearchValues<char> s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+   internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
  
  /// <summary>Supports searching for characters in or not in "!#$%&amp;'*+-/0123456789=?ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~K".</summary>
  internal static readonly SearchValues<char> s_nonAscii_7ADC7465A855D0F7DBF80EE65A2D8E62A35EDBB78D224DA31A8C190D13710E4D = SearchValues.Create("!#$%&'*+-/0123456789=?ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~K");
"(?<lang>[a-z]{2,8})(?:(?:\\-(?<script>[a-zA- ..." (5593 uses)
[GeneratedRegex("(?<lang>[a-z]{2,8})(?:(?:\\-(?<script>[a-zA-Z]+))?\\-(?<reg>[A-Z]+))?", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.CultureInvariant)]
                         ReadOnlySpan<char> span = inputSpan.Slice(pos);
                         for (int i = 0; i < span.Length - 1; i++)
                         {
-                            int indexOfPos = span.Slice(i).IndexOfAny(Utilities.s_nonAscii_326E1FD0AD567A84CAD13F2BE521A57789829F59D59ABE37F9E111D0182B6601);
+                            int indexOfPos = span.Slice(i).IndexOfAny(Utilities.s_asciiLettersAndKelvinSign);
                             if (indexOfPos < 0)
                             {
                                 goto NoMatchFound;
                                     //{
                                         charloop_starting_pos1 = pos;
                                         
-                                        int iteration1 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_326E1FD0AD567A84CAD13F2BE521A57789829F59D59ABE37F9E111D0182B6601);
+                                        int iteration1 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndKelvinSign);
                                         if (iteration1 < 0)
                                         {
                                             iteration1 = slice.Length;
                                 
                                 // Match a character in the set [A-Za-z\u212A] atomically at least once.
                                 {
-                                    int iteration2 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_326E1FD0AD567A84CAD13F2BE521A57789829F59D59ABE37F9E111D0182B6601);
+                                    int iteration2 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndKelvinSign);
                                     if (iteration2 < 0)
                                     {
                                         iteration2 = slice.Length;
         }
         
         /// <summary>Supports searching for characters in or not in "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_326E1FD0AD567A84CAD13F2BE521A57789829F59D59ABE37F9E111D0182B6601 = SearchValues.Create("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndKelvinSign = SearchValues.Create("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
     }
 }
"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25 ..." (1964 uses)
[GeneratedRegex("^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$", RegexOptions.IgnoreCase | RegexOptions.Compiled)]
                                                         slice = inputSpan.Slice(pos);
                                                         charloop_starting_pos = pos;
                                                         
-                                                        int iteration = slice.IndexOfAnyExcept(Utilities.s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F);
+                                                        int iteration = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashKelvinSign);
                                                         if (iteration < 0)
                                                         {
                                                             iteration = slice.Length;
                                                         }
                                                         
                                                         if (charloop_starting_pos >= charloop_ending_pos ||
-                                                            (charloop_ending_pos = inputSpan.Slice(charloop_starting_pos, charloop_ending_pos - charloop_starting_pos).LastIndexOfAny(Utilities.s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527)) < 0)
+                                                            (charloop_ending_pos = inputSpan.Slice(charloop_starting_pos, charloop_ending_pos - charloop_starting_pos).LastIndexOfAny(Utilities.s_asciiLettersAndDigitsAndKelvinSign)) < 0)
                                                         {
                                                             goto LoopIterationNoMatch1;
                                                         }
                                                 slice = inputSpan.Slice(pos);
                                                 charloop_starting_pos1 = pos;
                                                 
-                                                int iteration1 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F);
+                                                int iteration1 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashKelvinSign);
                                                 if (iteration1 < 0)
                                                 {
                                                     iteration1 = slice.Length;
                                                 }
                                                 
                                                 if (charloop_starting_pos1 >= charloop_ending_pos1 ||
-                                                    (charloop_ending_pos1 = inputSpan.Slice(charloop_starting_pos1, charloop_ending_pos1 - charloop_starting_pos1).LastIndexOfAny(Utilities.s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527)) < 0)
+                                                    (charloop_ending_pos1 = inputSpan.Slice(charloop_starting_pos1, charloop_ending_pos1 - charloop_starting_pos1).LastIndexOfAny(Utilities.s_asciiLettersAndDigitsAndKelvinSign)) < 0)
                                                 {
                                                     goto LoopBacktrack1;
                                                 }
         }
         
         /// <summary>Supports searching for characters in or not in "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndDashKelvinSign = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
         
         /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
     }
 }
"^(?<Version>\\d+(\\s*\\.\\s*\\d+){0,3})(?<Re ..." (1737 uses)
[GeneratedRegex("^(?<Version>\\d+(\\s*\\.\\s*\\d+){0,3})(?<Release>-[a-z][0-9a-z-]*)?$", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture)]
                                 slice = inputSpan.Slice(pos);
                                 charloop_starting_pos2 = pos;
                                 
-                                int iteration4 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F);
+                                int iteration4 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashKelvinSign);
                                 if (iteration4 < 0)
                                 {
                                     iteration4 = slice.Length;
         }
         
         /// <summary>Supports searching for characters in or not in "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndDashKelvinSign = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
     }
 }
"(?<![a-z0-9_])\\{=([a-z0-9_]+)\\}" (1405 uses)
[GeneratedRegex("(?<![a-z0-9_])\\{=([a-z0-9_]+)\\}", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Compiled | RegexOptions.CultureInvariant)]
                         // Match a character in the set [0-9A-Z_a-z\u212A] atomically at least once.
                         {
-                            int iteration = slice.IndexOfAnyExcept(Utilities.s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386);
+                            int iteration = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndUnderscoreKelvinSign);
                             if (iteration < 0)
                             {
                                 iteration = slice.Length;
         /// <summary>Whether <see cref="s_defaultTimeout"/> is non-infinite.</summary>
         internal static readonly bool s_hasTimeout = s_defaultTimeout != Regex.InfiniteMatchTimeout;
         
+        /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK".</summary>
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndUnderscoreKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
+        
         /// <summary>Supports searching for the string "{=".</summary>
         internal static readonly SearchValues<string> s_indexOfString_FF8EFDA40535CF1F37189CED2FF42AF44018C0053133E1D75453EFBFBDB644FD = SearchValues.Create(["{="], StringComparison.Ordinal);
-        
-        /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
     }
 }
"\\?([a-z_][a-z0-9_]*)\\?" (1405 uses)
[GeneratedRegex("\\?([a-z_][a-z0-9_]*)\\?", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.CultureInvariant)]
                         // Match a character in the set [0-9A-Z_a-z\u212A] atomically any number of times.
                         {
-                            int iteration = slice.Slice(1).IndexOfAnyExcept(Utilities.s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386);
+                            int iteration = slice.Slice(1).IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndUnderscoreKelvinSign);
                             if (iteration < 0)
                             {
                                 iteration = slice.Length - 1;
         internal static readonly bool s_hasTimeout = s_defaultTimeout != Regex.InfiniteMatchTimeout;
         
         /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndUnderscoreKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
     }
 }
"^(http|https)\\://[a-zA-Z0-9\\-\\.]+(:[a-zA- ..." (821 uses)
[GeneratedRegex("^(http|https)\\://[a-zA-Z0-9\\-\\.]+(:[a-zA-Z0-9]*)?(/[a-zA-Z0-9\\-\\._]*)*$", RegexOptions.IgnoreCase | RegexOptions.Compiled)]
                         slice = inputSpan.Slice(pos);
                         charloop_starting_pos = pos;
                         
-                        int iteration = slice.IndexOfAnyExcept(Utilities.s_nonAscii_83AFA3CC45CC4C2D8C316947CFC319199813C7F90226BDF348E2B3236D6237C1);
+                        int iteration = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashDotKelvinSign);
                         if (iteration < 0)
                         {
                             iteration = slice.Length;
                                 slice = inputSpan.Slice(pos);
                                 charloop_starting_pos1 = pos;
                                 
-                                int iteration1 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527);
+                                int iteration1 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndKelvinSign);
                                 if (iteration1 < 0)
                                 {
                                     iteration1 = slice.Length;
                             
                             // Match a character in the set [-.0-9A-Z_a-z\u212A] atomically any number of times.
                             {
-                                int iteration2 = slice.Slice(1).IndexOfAnyExcept(Utilities.s_nonAscii_0D7E5600013B3F0349C00277028B6DEA566BB9BAF991CCB7AC92DEC54C4544C1);
+                                int iteration2 = slice.Slice(1).IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashDotUnderscoreKelvinSign);
                                 if (iteration2 < 0)
                                 {
                                     iteration2 = slice.Length - 1;
             }
         }
         
+        /// <summary>Supports searching for characters in or not in "-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndDashDotKelvinSign = SearchValues.Create("-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        
         /// <summary>Supports searching for characters in or not in "-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_0D7E5600013B3F0349C00277028B6DEA566BB9BAF991CCB7AC92DEC54C4544C1 = SearchValues.Create("-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndDashDotUnderscoreKelvinSign = SearchValues.Create("-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
         
         /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
-        
-        /// <summary>Supports searching for characters in or not in "-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_83AFA3CC45CC4C2D8C316947CFC319199813C7F90226BDF348E2B3236D6237C1 = SearchValues.Create("-.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
     }
 }
"[^a-z0-9_]+" (814 uses)
[GeneratedRegex("[^a-z0-9_]+", RegexOptions.IgnoreCase | RegexOptions.Compiled)]
                     {
                         // The pattern begins with a character in the set [^0-9A-Z_a-z\u212A].
                         // Find the next occurrence. If it can't be found, there's no match.
-                        int i = inputSpan.Slice(pos).IndexOfAnyExcept(Utilities.s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386);
+                        int i = inputSpan.Slice(pos).IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndUnderscoreKelvinSign);
                         if (i >= 0)
                         {
                             base.runtextpos = pos + i;
                     
                     // Match a character in the set [^0-9A-Z_a-z\u212A] atomically at least once.
                     {
-                        int iteration = slice.IndexOfAny(Utilities.s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386);
+                        int iteration = slice.IndexOfAny(Utilities.s_asciiLettersAndDigitsAndUnderscoreKelvinSign);
                         if (iteration < 0)
                         {
                             iteration = slice.Length;
         internal static readonly bool s_hasTimeout = s_defaultTimeout != Regex.InfiniteMatchTimeout;
         
         /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_9FA52D3BAECB644578472387D5284CC6F36F408FEB88A04BA674CE14F24D2386 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndUnderscoreKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyzK");
     }
 }
"^[a-zA-Z0-9]+$" (790 uses)
[GeneratedRegex("^[a-zA-Z0-9]+$", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled)]
                     // Match a character in the set [0-9A-Za-z\u212A] atomically at least once.
                     {
-                        int iteration = slice.IndexOfAnyExcept(Utilities.s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527);
+                        int iteration = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndKelvinSign);
                         if (iteration < 0)
                         {
                             iteration = slice.Length;
         internal static readonly bool s_hasTimeout = s_defaultTimeout != Regex.InfiniteMatchTimeout;
         
         /// <summary>Supports searching for characters in or not in "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_46E3FAA2E94950B9D41E9AB1B570CAB55D04A30009110072B4BC074D57272527 = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndKelvinSign = SearchValues.Create("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
     }
 }
"^(?<Version>\\d+(\\s*\\.\\s*\\d+){0,3})(?<Re ..." (704 uses)
[GeneratedRegex("^(?<Version>\\d+(\\s*\\.\\s*\\d+){0,3})(?<Release>-[a-z][0-9a-z-]*)?$", RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled)]
                                 slice = inputSpan.Slice(pos);
                                 charloop_starting_pos2 = pos;
                                 
-                                int iteration4 = slice.IndexOfAnyExcept(Utilities.s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F);
+                                int iteration4 = slice.IndexOfAnyExcept(Utilities.s_asciiLettersAndDigitsAndDashKelvinSign);
                                 if (iteration4 < 0)
                                 {
                                     iteration4 = slice.Length;
         }
         
         /// <summary>Supports searching for characters in or not in "-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK".</summary>
-        internal static readonly SearchValues<char> s_nonAscii_2D5586687DC37F0329E3CA4127326E68B5A3A090B13B7834AEA7BFC4EDDE220F = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
+        internal static readonly SearchValues<char> s_asciiLettersAndDigitsAndDashKelvinSign = SearchValues.Create("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzK");
     }
 }

For more diff examples, see https://gist.github.com/MihuBot/efd39f22237c922e7f5b5793b45dc531

Sample source code for further analysis
const string JsonPath = "RegexResults-623.json";
if (!File.Exists(JsonPath))
{
    await using var archiveStream = await new HttpClient().GetStreamAsync("https://runtimeutils.blob.core.windows.net/artifacts/EcdMNPUAAAE/Results.zip");
    using var archive = new ZipArchive(archiveStream, ZipArchiveMode.Read);
    archive.Entries.First(e => e.Name == "Results.json").ExtractToFile(JsonPath);
}

using FileStream jsonFileStream = File.OpenRead(JsonPath);
RegexEntry[] entries = JsonSerializer.Deserialize<RegexEntry[]>(jsonFileStream)!;
Console.WriteLine($"Working with {entries.Length} patterns");



record KnownPattern(string Pattern, RegexOptions Options, int Count);

sealed class RegexEntry
{
    public required KnownPattern Regex { get; set; }
    public required string MainSource { get; set; }
    public required string PrSource { get; set; }
    public string? FullDiff { get; set; }
    public string? ShortDiff { get; set; }
    public (string Name, string Values)[]? SearchValuesOfChar { get; set; }
    public (string[] Values, StringComparison ComparisonType)[]? SearchValuesOfString { get; set; }
}

Artifacts:

@MihuBot
Copy link
Owner Author

MihuBot commented Sep 5, 2024

@MihaZupan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants