Grupowanie / przechwytywanie Notepad ++ nie działa

1

Wyrażenie regularne takie jak „ (Odebrano): ” powinno pasować do każdego „ Odebrano ”, które poprzedza „ : ”.

N ++ znajduje dla mnie cały ciąg: „ Otrzymano: ” Zamiast więc wyróżniać w moim dokumencie „ Otrzymałem ”, otrzymuję „ Otrzymałem: ”. Co się dzieje? Znajdź i zamień zachowuje się tak samo.

Używam wersji 6.5.5 (UNICODE).

Sasha
źródło
Pytasz o dopasowanie, Received a następnie :(dwukropek) i właśnie to robi. Jeśli chcesz dopasować, Receivedużyj (Received) nie (Received):
DavidPostill
Nie, proszę o 1) dopasowanie słowa Otrzymane 2) tylko te poprzedzające dwukropek. ps Nie wiem, dlaczego N ++ również podkreśla dwukropek, ponieważ nie ma go w parens.
sasha
Że to , co to jest dopasowanie. Dwukropek jest częścią meczu prosiłeś. Nie jest częścią wyrażenia grupowego, (...)które ma być użyte w zamianie na pole.
DavidPostill
1
Wyrażenie grupy po prostu przechowuje dopasowanie na później. Nie ma to nic wspólnego z podświetlaniem całego dopasowania wyrażenia regularnego.
DavidPostill

Odpowiedzi:

2

Funkcja RegEx, na którą patrzysz, to Pozytywne spojrzenie w przyszłość . Jeśli szukasz (Received)(?=:)w:

Received
Received:
[Received]
Received:

Receivedpasują tylko 2. i 4. linia .


Trochę przeoczyłeś punkt grup ().

Grupowanie według () pozwala przechwytywać postacie z wnętrza grupy i używać ich później.

Spróbuj zamienić ([\d]+):się prefix_\1_suffixw:

12343:
123a:
1111:
222
333:

I powinieneś otrzymać:

prefix_12343_suffix
123a:
prefix_1111_suffix
222
prefix_333_suffix
g2mk
źródło
„przechwytywać postacie ... i używać ich później”. Ok, do ekstrakcji. Myślałem, że to podwyrażenie, które należy zastąpić innym.
sasha
czym jest „regex future”?
sasha
„Pozytywne spojrzenie w przód działa tak samo. Q (? = U) dopasowuje aq, po którym następuje au, nie czyniąc u częścią dopasowania. Pozytywna konstrukcja w przód jest parą nawiasów, z nawiasem otwierającym poprzedzającym znak zapytania i znak równości ”.
DavidPostill
Grupy @sasha są podwyrażeniami, ale chodzi o to, że możesz się do nich później odwoływać. Mam na myśli „funkcję”.
g2mk