Expressão regular para adicionar espaço após 10 dígitos

Expressão regular para adicionar espaço após 10 dígitos

Como eu escreveria uma expressão regular para fazer uma operação localizar/substituir a fim de adicionar um espaço após 10 dígitos de qualquer número com 20 dígitos?

Eu tenho uma longa lista de números de telefone onde alguns deles têm acidentalmente 20 dígitos e preciso adicionar um espaço entre cada instância disso.

Editar: Eu tentei \d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d que seleciona números de 20 dígitos, mas substituir isso por um espaço substituirá apenas todos os 20 dígitos por espaços em branco, em vez de inserir um espaço após 10 dígitos.

Estou tentando fazer isso com Sublime Text em um MacBook Pro.

Responder1

você precisa usarCapturar gruposse você deseja realizar operações de substituição preservando os componentes da string original.

seu regex seguiria algo como:

padrão: "^([\d]{10})([\d]{10})" //two groups of 10

substituir: "$1 $2"

Os parênteses em torno de cada padrão para um bloco de dez definem um grupo de captura. então estamos dizendo, "os primeiros dez dígitos do grupo $1 e os 10 segundos estão no grupo $2". então dizemos apenas "imprimir grupo 1, adicionar um espaço e imprimir grupo 2".

Observe que cada plataforma é diferente em termos de sintaxe Regex e sintaxe de substituição. muitos usam $number(como sed), outros usam \number(como notepad++), então não deixe de consultar a documentação do seu produto.

informação relacionada