diff --git a/src/Umbraco.Core/Extensions/StringExtensions.Sanitization.cs b/src/Umbraco.Core/Extensions/StringExtensions.Sanitization.cs index fe31796681..7760258c2c 100644 --- a/src/Umbraco.Core/Extensions/StringExtensions.Sanitization.cs +++ b/src/Umbraco.Core/Extensions/StringExtensions.Sanitization.cs @@ -22,6 +22,9 @@ public static partial class StringExtensions @"(? FileExtensionRegex = new(() => + new Regex(@"(?\.[^\.\?]+)(\?.*|$)", RegexOptions.Compiled)); + /// /// Cleans string to aid in preventing xss attacks. /// @@ -117,12 +120,8 @@ public static partial class StringExtensions /// Extension of the file public static string GetFileExtension(this string file) { - // Find any characters between the last . and the start of a query string or the end of the string - const string pattern = @"(?\.[^\.\?]+)(\?.*|$)"; - Match match = Regex.Match(file, pattern); - return match.Success - ? match.Groups["extension"].Value - : string.Empty; + Match match = FileExtensionRegex.Value.Match(file); + return match.Success ? match.Groups["extension"].Value : string.Empty; } ///