![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 9 Dołączył: 30.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, mam takie problem, korzystam z edytora Sublime Text 2, który jest właśnie napisany w Pythonie i chciałbym sobie szybko sformatować kod, ale nie wiem jak ominąć ciągi znaków.
Żeby Wam to zobrazować pokażę to na kodzie:
Teraz chciałbym, aby kropki NIE ZNAJDUJĄCE się w stringach nie zostały sformatowane, a kropki poza stringami zostały zamienione na _._ (gdzie _ to spacja), w tym przypadku DATADIR.SITEMAP.EXT powinno zostać zamienione na DATADIR . SITEMAP . EXT, a reszta kropek nie ruszona. Nie znam sposobu na zrobienie tego, chodzi mi tylko o idee w jaki sposób zaznaczyć, że COŚ ma zostać znalezione, ale tylko, gdy nie znajduje się pomiędzy czymś (w moim przypadku ZAWSZE będą to ' i '). Wszystkie moje pomysły na znalezienie tego już testowałem, niestety, chyba nawet nie zbliżyłem się do rozwiązania problemu. Będę wdzięczny za jakiekolwiek podpowiedzi. Pozdrawiam, artuross PS Wiem, że to Hydepark, wiem, że może wydawać się głupie to, co próbuję osiagnąć, ale chciałbym to zautomatyzować troszkę, a przy okazji kod wszędzie wyglądałby tak samo, bo kropka to tylko jeden z wielu przykładów dla zastosowania tego wyrażenia. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wyrażenia regularne są tu właściwie bezużyteczne. Musisz niejako stworzyć cały parser, który będzie wstanie określić co właśnie przetwarza (czy "." znajduje się w komentarzu, tekście czy może jest to element składni).
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 164 Pomógł: 9 Dołączył: 30.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Korzystałeś z edytora i jesteś pewien? Gdy podaję, by wyszukał '.*?' zostają zaznaczone tylko stringi, a wartości pomiędzy nimi, które de facto też znajdują się pomiędzy ' i ' nie zostają zaznaczone.
Jeżeli mimo to nie da rady tak zrobić bez tworzenia parsera to dzięki za odpowiedź. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:52 |