Jak pozbyć się spacji w RegEx?


(sexy69bis) #1

Jak pozbyć się spacji przy wyrazie test?

TESTER


(Volant) #2

Zaznacz opcję Replace matches with i następnie w okienku, które Ci się pojawi, wpisz wyraz bez spacji.

Tutaj jest

Podgląd masz w zakładce CONTEXT.


(krystian3w) #3

@Volant zapomniałeś wygenerować Permalink (klik w Show Permalink), bo adres się nie aktualizuje w pasku adresu. Chyba że masz na myśli by używał opcji podglądu i nie robisz gotowca.


Usuwam regexy nie pasują do oczekiwań.


(Volant) #4

Wygenerowałem permalink, kolego :wink: Zmiany widoczne są w zakładce Context :slight_smile: Nie ma gotowców :wink:


(krystian3w) #5

OK, teraz zostaje kwestia czy chciał obie czy konkretną z lewej / prawej.

I dopracowanie bo mimo wszystko, umie zbić pierwsze dwa wiersze w jedną linię:

    image


(sexy69bis) #6

To ma być samodzielny wyraz: test, a tu test jest częścią wyrazu, końcówką,
początkiem innego, czy też rdzeniem (w środku wyrazu).

chyba, to nie będzie takie proste :grinning:


(krystian3w) #7

((\b test \b)|(\b test)|(test \b)) :question:

test

test

xx
​xx
test

​xx
test

xx
​xx
test

xxx
​testxx
​xx
test
​xx
test

ć xxx
​xx ć
test

xxx

kolorowanie zrobiłem nie wiem jak - hack z github odkryty przypadkiem i tu widać działa nawet odrobinę lepiej.

Zbędne entery generuje drugie i trzecie “lub” (albo pole zamiany z zawartością: “nowa linia”, test, “nowa linia”), więc jest to trochę nieoptymalne.

I chyba lepiej by sobie przy tak prostych regex poradziły dwa osobne, zakładając że nie ma gdzieś innych testów, które nie mają być w osobnym wierszu.


(sexy69bis) #8

to tak wygląda


(krystian3w) #9

dodałem w polu “zmień na”:

image

nie wiem na ile sam regex jeden bez opcji zmiany pozwalałby to rozdzielić na wiersze.


(sexy69bis) #10

Jest takie coś:

        granice zaznaczania:

(?=\() poprzedzone nawiasem okrągłym
(?=\)) zakończone nawiasem okrągłym

Problem w tym, że to dotyczy znaku a nie spacji.
Może idzie to jakoś przerobić?.

albo jak wykluczyć 4 dolne pozycje


(sexy69bis) #11

wg. mnie wzór pokazuje, że “test” może być na początku lub na końcu linii,
jak również, może być spacja przed nim lub za nim.

Dlaczego więc, nie są zaznaczone 3 pierwsze pozycje?


(Aranthor) #12

Inne silniki radzą sobie z tym lepiej: LINK

Postaw znak \s, aby testować pod kątem białych znaków lub \x20 - kod ASCII spacji.


(sexy69bis) #13

niestety, nie można pozbyć się tych spacji.
Próbowałem (?=\s) wstawiać w różne miejsca i nic.

We wzorze dopuszczam spacje, a zarazem chciałbym je ukryć.

Tu coś znalazłem , ale to wyższa szkoła jazdy
Link


(sexy69bis) #14


(Aranthor) #15

Dlaczego nie można? Sam napisałeś, że chcesz usunąć spacje wokół wyrazu “test”. I zostały usunięte, co widać pod napisem substitution na poniższym zrzucie ekranu:


(sexy69bis) #16

Jak pokazałem powyżej to jest rozwiązanie dla testera i AkelPada
\btest(?=\W)
zaznaczony jest tylko |test|

natomiast VBScript wczytuje również ze spacjami.
To wszystko jest powalone.
Czy jest gdzieś tester dla VBScript’ów?