Regulärer Ausdruck hängt - Java Matcher

Zeichenfolge:

Aqua, Natriumlaurethsulfat, Natriumlaurethsulfat, Dimethicon, Cocamid MEA, Zinkcarbonat, Glykoldistearat, Natriumchlorid, Zinkpyrithion, Natriumxylolsulfonat, Cetylalkohol, Parfum, Guarhydroxypropyltrimoniumchlorid, Magnesiumsulfat, Natriumbenzoat, Ammoniumlaurethsulfat, Magnesiummagnesium Carbonathydroxid, Linalool, Butylphenylmethylpropional, Limonen, Hydroxyisohexyl-3-cyclohexencarboxaldehyd, Benzylalkohol, Hexylzimt, Citronellol, Tocopherylacetat, Paraffinum Liquidum, Natriumpolynaphthalinsulfonat, CI 19140, DMDM-Hydantoin, Chlorid Methylisothiazolinon.

Aktueller Regex:

System.out.println(string.matches("([\\W]*\\b[A-Z\\d]\\w+\\b[\\W]*)+"));

Java-Anwendung legt auf. Ich kann den Fehler in der RegEx nicht finden. Durch Googeling habe ich herausgefunden, dass dies als "katastrophales Backtracking" bezeichnet werden kann !? Der Regex sollte mit dem String übereinstimmen, wenn er nur Großbuchstaben enthält, wenn beispielsweise 1 Wort in Kleinbuchstaben nicht übereinstimmen sollte.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage