regex replace keeping a part of a string

Today I managed to replace (in html file links and anchors) absolute paths with relative ones.

I needed to keep the anchors and links number.

I did so:

search: href="#_ftn([0-9])">
replace: href="#_ftnref\1" id="_ftn\1">

In this way href=”#_ftn1 was replaced by  href="#_ftnref1" id="_ftn1", href=”#_ftn2 was replaced by  href="#_ftnref2" id="_ftn2", and so on.

For numbers with two digits

searchhref="#_ftn([0-9][0-9])">
replacehref="#_ftnref\1" id="_ftn\1">

Only the search string is to be modified, if you have more digits (f.e. [0-9][0-9][0-9][0-9] if you have numbers with four digits, such as 1276), not the replace one (so don’t write \1\1).

digits within brackets

To replace digits within brackets you have to escape the brackets with ‘\’, thus: ‘\(‘, or ‘\[‘. For example, if you plan to convert every ‘(some digits) ‘ with ‘</p><p>(some digits)’, you should use this code:

find: \(([0-9])\)
replace: </p><p>(\1)

exclude a program from autokey

Per settare più programmi con autokey, in window filter
(progr1)|(progr2).

per escludere un programma da un item di autokey 

Si può usare questa regex: ^((?!.*Firefox).)*$
In questo caso escludiamo Firefox: non occorre mettere tutto il nome della window, ma solo la parte finale (senza spazi o punti). In effetti la finestra di Firefox sarebbe “Navigator.Firefox”, ma così non funzionerebbe.

un bug 

L’esclusione suddetta non funziona per il terminale (konsole). Speriamo che risolvano. Per aggirare questo ostacolo si possono indicare (positivamente) tutti gli altri programmi in cui si usa quella abbreviazione.

sigil linkare le note

Si può usare il plugin per sigil FootnoteLinker. Ma per prepare il lavoro di tale plugin occorre
  1. aver raccolto a parte tutte le note, in ordine, e messe in un file (interno ovviamente all’epub) da definire (add semantic) come footnotes
  2. successivamente bisogna rendere ogni nota un paragrafo con class=”note”, ad esempio;
  3. poi, nel file di testo occorre che tutti i numeri di rimando alle note siano formattati con <sup class=”noteanchor”>numero</sup>.
  4. controllare che il numero dei rimandi alle note sia identico al numero delle note,
  5. e infine dare il comando al plugin FootnoteLinker.

regular expression: find/replace digits

Per eseguire agevolmente il 3° punto può essere utile ricorrere alle regular expression, tenendo conto che una cifra è resa da d (per cui un numero di due cifre è dd ). Si possono usare, in sigil, i seguenti comandi, usando regex:
find = (dd) e
replace = [1]
Così 12 diventerà [12]. Dopo di che potete sostituire “[” con <sup class=”noteanchor”> e “]” con </sup>.