Mam bardzo podstawowe pytanie, którego po prostu nie mogę zrozumieć. Mam taki dokument tekstowy:
This is 5 a test!
This 3 is a test!
This is a 9 test!
i chcę, żeby wyglądało to tak:
This is 5c a test!
This 3c is a test!
This is a 9c test!
Oznacza, że chcę dodać „c” do każdej znalezionej liczby. Próbowałem tego:
Find what: [0-9]+]
Replace with: $1c
Search Mode: Regular expression
ale oczywiście robię coś złego, ponieważ to nie działa. Pomoc będzie mile widziana. Dziękuję Ci!
[0-9]+]
z tymi dziwnymi niedopasowanymi nawiasami?+
,]
aEnter
na wielu klawiaturach.Odpowiedzi:
Prawie masz rację.
Chcesz wyszukać
([0-9]+)
I zastąpić to
$1c
Używasz
( )
do utworzenia grupy przechwytywania, więc 1 USD działa.Możesz też
$0c
zamiast tego zastąpić , wtedy nie musisz używać grupy przechwytywania.źródło
\d+
?\d
może dopasowywać cyfry Unicode z innych skryptów . Pamiętaj, że nie jest tak w przypadku PCRE, co najwyraźniej wykorzystuje Notepad ++. W każdym razie zazwyczaj wolałbym,\d
jeśli chcę cyfry, ale[0-9]
jeśli wyraźnie chcę te znaki (np. Podczas zgarniania zdefiniowanego formatu, który jest ograniczony do znaków ASCII).\d+
$0c
Wynik dla podanego przykładu:
źródło