diff --git a/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs b/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs index 5304757dda98ae33b4ec7499c92aebcd91a950b1..ba6ae40fa7b54b4a3a514656b2b7a0206949d067 100644 --- a/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs +++ b/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs @@ -144,8 +144,8 @@ public class CppClassDiagramVisitor : CPP14ParserBaseVisitor<object> string compositionPattern = @"^(?:std::)?(?:vector<)?(\w+)>?$"; // Check if the property type matches aggregation or composition - Match aggregationMatch = Regex.Match(atribute.Type, aggregationPattern); - Match compositionMatch = Regex.Match(atribute.Type, compositionPattern); + Match aggregationMatch = Regex.Match(atribute.Type, aggregationPattern, RegexOptions.NonBacktracking); + Match compositionMatch = Regex.Match(atribute.Type, compositionPattern, RegexOptions.NonBacktracking); int groupMatch = 1; if (aggregationMatch.Success && !string.IsNullOrEmpty(aggregationMatch.Groups[groupMatch].Value)) {