Non abbinare spazi bianchi alla fine della riga


1

Quando uso l'espressione regolare per sostituire gli spazi bianchi, \ s corrisponde anche alla fine di una linea e non solo allo spazio in una linea. Come posso correggere questo per sostituire semplicemente gli spazi bianchi in una riga.


Quale sintassi regex stai usando? POSIX? POSIX esteso? Perl / PCRE? Pitone? JavaScript? Ecc.
Grawity

@grawity Sto usando notepad ++
The Last Word

Risposte:


0

\ssta per qualsiasi tipo di spazio bianco, ad es. spazio semplice, tabulazione, interruzione di riga ...

È possibile utilizzare \hper lo spazio orizzontale: spazio o tabulazione.

Se si desidera abbinare solo spazi tra le parole, è possibile utilizzare: (?<=\S)\h+(?=\S)

dove

  • (?<=\S) è uno sguardo positivo che si assicura prima di avere uno spazio non bianco
  • (?=\S) è uno sguardo positivo che si assicura che dopo non ci sia uno spazio bianco.

0

Puoi abbinare i caratteri specifici degli spazi bianchi che desideri, anziché selezionare tutti i caratteri degli spazi bianchi.

Ad esempio, per abbinare uno o più spazi e schede, utilizzare [ \t]+. Nota lo spazio AND \ t caratteri saranno abbinati.


Credo che non hai ricevuto la domanda. Devo abbinare lo spazio tra le parole. Non corrisponde a tutti gli spazi bianchi.
L'ultima parola

Potresti cercare ([ \t]+)(\S). Ciò dovrebbe consentirti di trovare e sostituire utilizzando il modello di sostituzione \t\2e ottenere le schede dove vuoi
RedEight
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.