Teraz jest 29 lis 2024 4:53:36




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Wyrażenia regularne w Calibre, przy ręcznej edycji książki? 
Autor Wiadomość
Użytkownik

Dołączył(a): 01 sie 2016 1:01:17
Posty: 49
eCzytnik: Kindle Paperwhite 3
Post Wyrażenia regularne w Calibre, przy ręcznej edycji książki?
W Sigil po wybraniu odpowiedniego Trybu, działa wyszukiwanie i zastępowanie tzw. wieloznakowe (przykład poniżej):
Kod:
Przykład 1
Znajdź: ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ])</p>\s*<p>([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ])
Zastąp: \1 \2

Przykład 2
Znajdź: <span class="Italic">(.*?)</span>
Zastąp: \1


Czy jest szansa aby w Calibre podczas edycji epub'a również takie wyrażenia działały?
Próbuję różnych kombinacji, przeglądam opcje i niestety nie potrafię w Calibre tego osiągnąć.
Opcje te działają na pewno podczas "Konwersji", gdy wpiszę je w okienko "Wyszukaj i Zamień".
Ale wygodniej byłoby mi z nich korzystać przy ręcznej Edycji książki, gdy widzę dokładnie co się zmienia przy konkretnych poprawkach (w 2 sąsiednich oknach).

Będę wdzięczny za pomoc jak korzystać z tych "wyrażeń regularnych" w Calibre.
Dużo wygodniej poprawia mi się książki w Calibre niż w Sigil i chciałbym przy nim pozostać.
Poza tym Sigil podczas poprawy książek psuje mi pliki Stylów *.css. Muszę je potem poprawiać w Calibre.
Stąd moje pytanie i prośba o pomoc.


09 sty 2017 23:14:33
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 21 lip 2011 9:46:47
Posty: 286
eCzytnik: KoboT,NST,NGP,K3G, KPW2,KPW3,TolV2
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
U mnie oba przykłady działają bez problemu w edytorze Calibre.
Wyszukuje i zamienia.

Zrzut z przykładu 2:
Obrazek Obrazek


10 sty 2017 20:04:06
Zobacz profil
Użytkownik

Dołączył(a): 01 sie 2016 1:01:17
Posty: 49
eCzytnik: Kindle Paperwhite 3
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
Dziękuję @Becky.

Nie zwróciłem uwagi, że tak jak w Sigil na dole wyszukiwarki jest jeszcze coś takiego jak: Tryb "Wyrażenie regularne" ;-)

Czego mi jeszcze tylko brakuje to: "Policz wszystko"
Byłbym już wówczas zupełnie przeszczęśliwy z używania Calibre do poprawiania książek.


11 sty 2017 16:11:19
Zobacz profil
Użytkownik
Avatar użytkownika

Dołączył(a): 21 lip 2011 9:46:47
Posty: 286
eCzytnik: KoboT,NST,NGP,K3G, KPW2,KPW3,TolV2
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
Math13 napisał(a):
Czego mi jeszcze tylko brakuje to: "Policz wszystko"

Po wpisaniu wyszukania naciśnij Ctrl-N.


12 sty 2017 16:51:28
Zobacz profil
Użytkownik

Dołączył(a): 01 sie 2016 1:01:17
Posty: 49
eCzytnik: Kindle Paperwhite 3
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
Dziękuję @Becky.
Nie wiedziałem o takiej opcji.
Programista mimo wszystko mógł dołożyć przycisk, szczególnie, że taką opcję (skrótu klawiaturowego) zaprogramował w Calibre.


13 sty 2017 20:15:48
Zobacz profil
Użytkownik

Dołączył(a): 01 sie 2016 1:01:17
Posty: 49
eCzytnik: Kindle Paperwhite 3
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
Jeżeli mogę to zapytam jeszcze w tym temacie.

Jakiej formuły powinienem użyć, aby usunąć niepotrzebną "spację" przed kropką lub pytajnikiem?
Chciałbym zamienić np.:
1)
Mówił głośno . Nie widzieć czemu.
Na:
Mówił głośno. Nie widzieć czemu.
2)
Słuchasz mnie ? Proszę posłuchaj uważnie.
Na:
Słuchasz mnie? Proszę posłuchaj uważnie.

Kod:
Dla kropki próbuję wyrażenia:
Znajdź: ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ]) . ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ])
Zastąp: \1. \2
Ale znajduje przy okazji dużo innych wyrażeń niekoniecznie z kropką, lecz np. również z pauzą.

Dla pytajnika próbuję wyrażenia:
Znajdź: ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ]) ? ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ])
Zastąp: \1? \2
Ale tutaj znajduje tylko wszystkie odstępy (spacje) między wyrazami, natomiast ani jednego pytajnika.


Natomiast takie samo wyrażenie "Znajdź" ze spacją przed: przecinkiem, wykrzyknikiem, dwukropkiem, średnikiem ładnie znajduje i zastępuje na poszukiwany znak bez spacji.
Nie rozumiem dlaczego dla jednych znaków działa, a dla innych (kropki i wykrzyknika) już nie.


16 sty 2017 17:54:13
Zobacz profil
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2836
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
Kropkę wystarczy poprzedzić backslashem (po polsku zwą to "lewym ukośnikiem"), żeby straciła swoje znaczenie w wyrażeniu regularnym:
Kod:
\.

a zestaw typu ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ]) powinno się dać zastąpić \w - a przynajmniej tak piszą w dokumentacji

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


17 sty 2017 0:25:17
Zobacz profil WWW
Admin

Dołączył(a): 13 cze 2008 14:47:02
Posty: 2836
Lokalizacja: Gdańsk
eCzytnik: kindle
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
athame napisał(a):
t3d napisał(a):
…a zestaw typu ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ]) powinno się dać zastąpić \w - a przynajmniej tak piszą w dokumentacji


Wg tej dokumentacji, cytuję: „\w is equivalent to the set [a-zA-Z0-9_]”, tak więc to nie jest pełne zastąpienie (pomija polskie „ogonki”).

Cytuj:
Character classes such as \w or \S (defined below) are also accepted inside a set, although the characters they match depends on whether LOCALE or UNICODE mode is in force.

Osobiście nie sprawdzałem, ale brzmi obiecująco...

_________________
Zgred - Rafał Ziemkiewicz napisał(a):
Dziś trzeba pisać o mieczach, czarach, toporach i wojowniczkach w blaszanych bikini, wszystko inne to już jest nisza w niszy. Albo o nastoletnich wampirach.
Porównywarka cen ebooków


17 sty 2017 11:53:46
Zobacz profil WWW
Użytkownik

Dołączył(a): 01 sie 2016 1:01:17
Posty: 49
eCzytnik: Kindle Paperwhite 3
Post Re: Wyrażenia regularne w Calibre, przy ręcznej edycji książ
Dziękuję za pomoc.
Działają oba wyrażenia:
Kod:
Znajdź:
([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ]) ([.?]) ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ])
Zamień na:
\1\2 \3
oraz,
Znajdź:
([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ]) \. ([0-9a-zA-ZęóąśłżźćńĘÓĄŚŁŻŹĆŃ])
Zamień na:
\1. \2


Ale najlepiej sprawdza się i znajduje w 100% wszystkie "fałszywki" wyrażenie:
Kod:
Znajdź:
(.) ([,.:;?!…]) (.)
Zamień na:
\1\2 \3


17 sty 2017 18:23:14
Zobacz profil
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 


Kto przegląda forum

Użytkownicy przeglądający to forum: Brak zalogowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów

Skocz do:  
cron