wyrażenie regularne, aby usunąć wszystkie białe znaki z wyjątkiem nawiasów
Zmagałem się z problemem, który miałem nadzieję rozwiązać za pomocą wyrażenia regularnego.
Powiedzmy, że mam łańcuch, który może zawierać dowolne alfanumeryczne z możliwością podciągu w otoczeniu nawiasami kwadratowymi. Te podciągi mogą pojawić się w dowolnym miejscu w łańcuchu. Może być także dowolna liczba podciągów z nawiasami.
Przykłady:
aaa [bb b]aaa [bbb] ccc [d dd][aaa] bbb [c cc]Widać, że w niektórych podciągach w nawiasach występują białe znaki, to dobrze. Moim głównym problemem jest teraz, gdy napotykam spacje poza nawiasami w następujący sposób:
a aa [bb b]Teraz chcę zachować przestrzenie wewnątrz nawiasów, ale usunąć je wszędzie.
Jest to trochę trudniejsze dla ciągów takich jak:
a aa [bb b] c cc [d dd] e ee [f ff]Chciałbym, żeby powrót był:
aaa [bb b] ccc [d dd] eee [f ff]Spędziłem trochę czasu, czytając różne strony reg ex dotyczące wyglądu, negatywnych twierdzeń itp., I to sprawia, że moja głowa się kręci.
UWAGA: dla każdego, kto to odwiedza, nie szukałem żadnego rozwiązania obejmującego zagnieżdżone nawiasy. Gdyby tak było, prawdopodobnie zrobiłbym to pragmatycznie, podobnie jak niektóre komentarze wymienione poniżej.