/ / Regex sostituisce all'interno della corrispondenza - regex, notepad ++

Regex sostituisce all'interno della partita - regex, notepad ++

In Notepad ++ RegEx, voglio cercare tutte le stringhe che iniziano con una tilde e terminano con n, e all'interno di ogni partita sostituisci tutti gli spazi con spazi non interrotti.

Cioè, voglio trovare tutte le istanze di ~.*^e all'interno del risultato $0, sostituisci tutto [Space]s con [Non-breaking Space].

È possibile?

risposte:

2 per risposta № 1

È possibile utilizzare quanto segue per abbinare:

(?:~|G(?<!^))S*Ks

Oppure prova:

(?:~|G(?!^))S*K[ ]

E sostituire con spazio non rottura

Vedere DEMO

Titoli di coda


0 per risposta № 2

Con i motori regex con retina a larghezza fissa (ad es. Perl):

s/(~.*?) {2,}/1 /g

con motori regex retrocompatibili con reticolo a larghezza variabile:

s/(?<=~.*) {2,}/  /g

o con Vim:

s/(~.*)@<= {2,}/  /g

Non sono sicuro di Notepad ++. Speriamo che possiate lavorare in base a quanto sopra.