Notepad++, dodanie znaków na końcu wyrażenia reularnego

0

Mam w pliku tekstowym czas w formacie 0000, chce na końcu każdego wystąpienia dodać np. abc
W notepad++ znajduję poprawnie każde wystąpienie czasu (za pomocą [0-9][0-9]:[0-9][0-9]:[0-9][0-9] ) ale jak dodać samo abc na końcu?

Mam:

*00:05:11
fdfdfdfdfdfdf

00:12:15
hjhgjjjjjjjjjjg
hgjjjjjjjjhjhghj*

chce mieć:

*00:05:11 abc
fdfdfdfdfdfdf

00:12:15 abc
hjhgjjjjjjjjjjg
hgjjjjjjjjhjhghj*
3

Zamiast [0-9] możesz napisać po prostu \d, wtedy wyrażenie staje się czytelniejsze:
\d{2}:\d{2}:\d{2}

Dodatkowo możesz się popisać sprytem, jeśli zależy Ci na jednym bajcie:
(\d{2}:){2}\d{2}
chociaż osobiście preferuję wersję pierwszą z mojego posta, bo zgodnie ze sztuką należałoby tutaj zastosować non-capturing group, przez co wyszlibyśmy na minus jeden

Mając teraz to wyrażenie wystarczy otoczyć je w tzw. capturing group, czyli ():
(\d{2}:\d{2}:\d{2})

I to wprowadzasz w okienku Szukany tekst, a do Zamień na możesz wpisać np. $1 abc.

$1 oznacza, że w miejsce tego znacznika wstawiony zostanie tekst z pierwszego capturing group (czyli cała godzina, w naszym przypadku), a oprócz tego jeszcze [spacja] abc.

0

Dzięki, zastanawiam się czy jest jakiś sposób żeby przepisać dolny czas obok górnego czyli
Przed:

00:05:11 abc 
fdfdfdfdfdfdf

00:12:15 abc 
hjhgjjjjjjjjjjg

00:13:22 abc
...

Po:

00:05:11 abc 00:12:15
fdfdfdfdfdfdf

00:12:15 abc 00:13:22
hjhgjjjjjjjjjjg

00:13:22 abc
...

Wspomagałem się trochę ahk ale tutaj to już typowo programistyczne techniki potrzebne, w stylu skopiuj do zmiennej dolny czas i wklej obok górnego, prawda?

0

tutaj to już typowo programistyczne techniki potrzebne, w stylu skopiuj do zmiennej dolny czas i wklej obok górnego, prawda?

Nope, nadal możesz wykorzystać wyrażenia regularne - potrzebujesz tylko pobawić się ze znakiem nowej linii :)

0
Patryk27 napisał(a):

Nope, nadal możesz wykorzystać wyrażenia regularne - potrzebujesz tylko pobawić się ze znakiem nowej linii :)

Można prosić o linka gdzie jest to dobrze opisane z przykładami?

0

Wpisz sobie regex tutorial w Google, znajdziesz tego multum.
Chociaż faktycznie jak tak patrzę na ten przykład, wyrażenia regularne mogą tutaj się nie sprawdzić.

0

A gdyby zrobić to przez Notepad++ za pomocą multiple copy/paste? W opcjach n++ zaznaczam Options->Preferences->Editing->Multi-Editing Settings i teraz mogę z przytrzymanym cltr zaznaczać czasy do skopiowania tylko jak je wkleić ta żby dolny był obok górnego itd.
Mam:

1 00:01:11 
2 fdfdfdfdfdfdf
3 
4 00:02:12  
5
6 hjhgjjjjjjjjjjg
7 00:03:22 
8
9 hgffggggggg
10
11 00:04:14
12 hjghhhghggg
...

Chcę mieć:

1 00:01:11  00:02:12 
2 fdfdfdfdfdfdf
3
4 00:02:12  00:03:22 
5
6 hjhgjjjjjjjjjjg
7 00:03:22  00:04:14
8
9 hgffggggggg
10
11 00:04:14
12 hjghhhghggg

...

1 użytkowników online, w tym zalogowanych: 0, gości: 1