Ich habe die folgende Zeichenfolge:Werte durch Kommas teilen, die außerhalb der Klammern stehen?
[A] == [B] * 10 - FUNCTION([C], STRING_EXPRESSION, FUNCTION([D],[C],[E])), FUNCTION([C], [X]), 100
und wollen es durch Kommata trennen, die außerhalb stehen hierfür sind:
[A] == [B] * 10 - FUNCTION([C], STRING_EXPRESSION, FUNCTION([D],[C],[E]))
FUNCTION([C], [X])
100
Ich war nicht in der Lage zu Tun Sie dies alleine oder verwenden Sie eine der ähnlichen Antworten hier.
Zum Beispiel ,\s*(?!\[^()\]*\))
regulären Ausdruck funktioniert gut, aber nur wenn nicht verschachtelte Klammern verwendet werden, was mein Fall ist.
Kann mir jemand sagen, wie man die Werte teilt (mit oder nicht regulären Ausdruck)?
Sie haben die Bedingungen zu analysieren, entweder push/pop-Methode oder rekursive Methode. Das sieht nach einer Schulaufgabe aus. Es ist kein einfaches Problem und dauert Stunden, um eine vollständige Lösung zu erhalten. – jdweng
mögliches Duplikat von [String aufteilen nach ',' in Array außer ',' innerhalb()] (http://stackoverflow.com/questions/31739853/split-string-by-into-array-except-within) – juharr
@ juharr Wie ich schon sagte - diese Antworten funktionieren nicht mit verschachtelten Klammern. – gotqn