diff --git a/src/PublicApiGenerator/CodeNormalizer.cs b/src/PublicApiGenerator/CodeNormalizer.cs index c60c724..0ac88e2 100644 --- a/src/PublicApiGenerator/CodeNormalizer.cs +++ b/src/PublicApiGenerator/CodeNormalizer.cs @@ -34,7 +34,8 @@ public static string NormalizeGeneratedCode(StringWriter writer) gennedClass = Regex.Replace(gennedClass, Set, " { set; }", RegexOptions.IgnorePatternWhitespace); gennedClass = Regex.Replace(gennedClass, @"\s+{\s+}", " { }", RegexOptions.IgnorePatternWhitespace); gennedClass = Regex.Replace(gennedClass, @"\)\s+;", ");", RegexOptions.IgnorePatternWhitespace); - gennedClass = Regex.Replace(gennedClass, $@"(?s)(?<=\[[^\]]*)(Attribute)?({AttributeMarker}(\(\))?(?=\])|{AttributeMarker}(?=\(.+\)\])|{AttributeMarker}(?=new.+\}}\)\]))", string.Empty, RegexOptions.IgnorePatternWhitespace); + var attributeMarkerEscaped = Regex.Escape(AttributeMarker); + gennedClass = Regex.Replace(gennedClass, $@"(Attribute)?({attributeMarkerEscaped}(\(\))?(?=\])|{attributeMarkerEscaped}(?=\(.+\)\])|{attributeMarkerEscaped}(?=new.+\}}\)\]))", string.Empty, RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace); gennedClass = gennedClass.Replace("class " + StaticMarker, "static class "); gennedClass = gennedClass.Replace("struct " + ReadonlyMarker, "readonly struct ");