• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Notepad++ - wyrażenia regularne - prośba o pomoc w ich wykorzystaniu.

Object Storage Arubacloud
0 głosów
330 wizyt
pytanie zadane 3 stycznia 2020 w SQL, bazy danych przez someonecrazy Nowicjusz (120 p.)

Witam,

Z góry przepraszam jeśli wybrałem nieodpowiednią kategorię/język programowania.

 

Od dłuższego czasu przeszukuję różne fora w poszukiwaniu rozwiązania mojego problemu, teoretycznie odnalazłem przydatne wskazówki, jednak ciągle nie potrafię ich zastosować podczas wyszukiwania aby spełniały moje kryteria. W związku z tym potrzebna mi jakaś podpowiedź.

 

Problem polega na tym, iż posiadam 8 plików, których zawartość potrzebuję edytować i podmienić, a każdy z nich ma ponad 100 linijek (wiem, nie jakoś specjalnie dużo), gdzie każda linijka posiada część znaków takich samych, a część zmiennych i wiem, że zamiast długo dłubać każdą z nich i modyfikując tak jak potrzebuję, mogę to zrobić za pomocą wyszukiwania oraz zastępowania, jednak...

Potrzebuję znać wyrażenie, które pomoże mi odszukać:

WARTOŚĆ_STAŁA-WARTOŚĆ_ZMIENNA-WARTOŚĆ STAŁA

Przykładowo powiedzmy, że posiadam następujące linijki:

SUMA(A1:A5)+SUMA(C1:C5)+SUMA(E1:E5)-SUMA(B1:B5)-SUMA(D1:D5)

SUMA(A6:A10)+SUMA(C6:C10)+SUMA(E6:E10)-SUMA(B6:B10)-SUMA(D6:D10)

SUMA(A11:A15)+SUMA(C11:C15)+SUMA(E11:E15)-SUMA(B11:B15)-SUMA(D11:D15)

 

Chciałbym wpisać odpowiednie wyrażenia regularne/regex'y abym mógł odszukać tekst powyżej wytłuszczony, który posiada pewne wartości stałe, które mogłyby posłużyć jako wyznaczniki początek/koniec, oraz wartości zmienne zawarte pomiędzy. Niestety coś nie bardzo mi to wychodzi.. Głównie chodzi o to aby zaznaczyć tekst od pierwszego "plus" do pierwszego "minus".

 

1 odpowiedź

+1 głos
odpowiedź 3 stycznia 2020 przez Tomek Sochacki Ekspert (227,510 p.)

Niezbyt rozumiem... piszesz "od pierwszego plusa do pierwszego minusa" a zaznaczasz boldem coś innego? Musisz się zdecydować :)

Może coś takiego?

/^.+?(\+.+?-)/

dla pierwszego ciągu dopasuje Ci w grupie: "+SUMA(C1:C5)+SUMA(E1:E5)-"

dla drugiego: "+SUMA(C6:C10)+SUMA(E6:E10)-"

czyli generalnie właśnie pierwsze wystąpienie "+", potem wszystkie znaki aż do pierwszego wystąpienia "-" łącznie z tym plusem i minusem. Chyba, że coś źle rozumiem Twój opis? Oczywiście do tego trzeba by dodać odpowiednią analizę multilinii itp. ale to już drugorzędny temat.

komentarz 3 stycznia 2020 przez someonecrazy Nowicjusz (120 p.)

Przepraszam za bardziej obszerne zaznaczenie niż opisanie, rzecz w tym, iż w tej sytuacji chodzi o pierwsze "+SUMA" i pierwsze "-SUMA" - są to wartości stałe, stąd też takie oznaczenie.

Niestety, ale zaprezentowany powyżej kod nie daje żadnych pozytywnych efektów.

Może aby nie szaramoncić na wymyślonych przykładach to wkleję poniżej całość formuły.

 

=SUMA.WARUNKÓW($F$144:$F$999;$B$144:$B$999;"402-1-1-1")+SUMA.WARUNKÓW($F$144:$F$999;$B$144:$B$999;"402-1-1-3")+SUMA.WARUNKÓW($F$144:$F$999;$B$144:$B$999;"402-1-1-4")-SUMA.WARUNKÓW($G$144:$G$999;$B$144:$B$999;"402-1-1-1")-SUMA.WARUNKÓW($G$144:$G$999;$B$144:$B$999;"402-1-1-3")-SUMA.WARUNKÓW($G$144:$G$999;$B$144:$B$999;"402-1-1-4")
=SUMA.WARUNKÓW($F$144:$F$999;$B$144:$B$999;"402-1-2-1")+SUMA.WARUNKÓW($F$144:$F$999;$B$144:$B$999;"402-1-2-3")+SUMA.WARUNKÓW($F$144:$F$999;$B$144:$B$999;"402-1-2-4")-SUMA.WARUNKÓW($G$144:$G$999;$B$144:$B$999;"402-1-2-1")-SUMA.WARUNKÓW($G$144:$G$999;$B$144:$B$999;"402-1-2-3")-SUMA.WARUNKÓW($G$144:$G$999;$B$144:$B$999;"402-1-2-4")

 

W tym pliku akurat potrzebuję usunąć niepotrzebne 2x "+SUMA" i 2 razy "-SUMA" oraz pozamieniać kryteria wyszukiwań, z kolei w innym będę musiał sumy dodatnie i ujemne dodać, etc.

Podczas szukania tekstu w Notepad++ mam oznaczone wyrażenia regularne.

 

Podobne pytania

0 głosów
1 odpowiedź 287 wizyt
pytanie zadane 22 maja 2016 w JavaScript przez remo82 Użytkownik (560 p.)
0 głosów
0 odpowiedzi 128 wizyt
0 głosów
2 odpowiedzi 266 wizyt
pytanie zadane 10 czerwca 2023 w JavaScript przez andrzej.polak Nowicjusz (220 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...