Não corresponde a espaço em branco no final da linha


1

Quando uso expressões regulares para substituir espaços em branco, \ s também corresponde ao final de uma linha e não apenas ao espaço em uma linha. Como retifico isso para substituir apenas os espaços em branco em uma linha.


Qual sintaxe de regex você está usando? POSIX? POSIX estendido? Perl / PCRE? Python? JavaScript? Etc.
grawity

@grawity Estou usando o bloco de notas ++
The Last Word

Respostas:


0

\ssignifica qualquer tipo de espaço em branco, ou seja. espaço simples, tabulação, quebra de linha ...

Você pode usar \hpara o espaço horizontal: espaço ou tabulação.

Se você deseja corresponder apenas espaços entre as palavras, pode usar: (?<=\S)\h+(?=\S)

Onde

  • (?<=\S) é um aspecto positivo que garante um espaço em branco antes
  • (?=\S) é uma visão positiva que garante que não haja espaço em branco depois.

0

Você pode corresponder aos caracteres em branco específicos que deseja, em vez de selecionar todos os caracteres em branco.

Por exemplo, para corresponder a um ou mais espaços e guias, use [ \t]+. Observe que o espaço AND \ t corresponderá.


Eu acredito que você não entendeu a pergunta. Eu preciso combinar o espaço entre as palavras. Não corresponde a todos os espaços em branco.
A Última Palavra

Você pode estar procurando ([ \t]+)(\S). Isso deve deixá-lo localizar e substituir usando o padrão de substituição \t\2e obter guias onde você quer
RedEight
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.