Si consideri il seguente espressione regolare:Come usare condizionali in caso di sostituzione in Notepad ++ tramite espressioni regolari
([a-zA-Z])([a-zA-Z]?)/([a-zA-Z])([a-zA-Z]?)
Se il testo è: a/b
i gruppi di cattura saranno:
/1 'a'
/2 ''
/3 'b'
/4 ''
E se il il testo è: aa/b
i gruppi di cattura saranno:
/1 'a'
/2 'a'
/3 'b'
/4 ''
Supponiamo, voglio trovare e sostituire questa stringa in Notepad ++ in modo tale che se /2
o /4
sono vuoti (come nel primo caso sopra), I ante c
.
Quindi, il testo a/b
diventa ca/cb
. E il testo aa/b
diventa aa/cb
Io uso la seguente espressione regolare per la sostituzione:
(?(2)\1\2|0\1)/(?(4)\3\4|0\3)
Ma Notepad ++ è trattare ?
letteralmente in questo caso, e non come un identificatore condizionale. Qualche idea su cosa sto sbagliando?
Penso che il vostro posizionamento del '?' Può essere corretto e questo potrebbe essere il motivo per Notepad ++ li tratta come letterali. –