Ich habe Java-Code und ich möchte C-Datei analysieren und alle Kommentare finden.Java: Regulärer Ausdruck verursacht Stapelüberlauf
Um alle Kommentare zu finden, die Linie oder Linien sind, die mit */
mit /*
beginnen und enden ich diesen Regulärer Ausdruck verwenden: Pattern.compile("/\\*(?:.|[\\n\\r]|[\\n])*?\\*/")
Das Problem ist, dass einiger Eingabestapelüberlauf verursacht.
Ich habe über dieses Problem gelesen und verstanden, ich werde vermeiden, |
in der Regex zu verwenden. Ich bin neu in der Regex-Welt. Kann mir jemand helfen, es einfacher zu machen?
Würde es Ihnen etwas ausmachen, die Eingabe einzuschließen, die das Problem verursacht? – f1sh
Was für ein gemeinsames schlechtes Muster. Verwende 'Pattern.compile (" (? S) /\\*.*?\\*/ ")' oder besser: '"/\\ * [^ *] * \\ * + (?: [^/*] [^ *] * \\ * +) */"' –