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

0

Como eu poderia escrever uma expressão regular para fazer uma operação de localizar / substituir para adicionar um espaço após 10 dígitos de um número que tenha 20 dígitos?

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

Editar : 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 substituí-los por um espaço apenas substituirá 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 o Sublime Text em um MacBook Pro.

    
por THE DOCTOR 22.09.2016 / 21:16

1 resposta

2

você precisa usar grupos de captura se quiser realizar operações de substituição enquanto preserva 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 segundos 10 estão no grupo $ 2". então apenas dizemos "imprimir grupo 1, adicionar um espaço e imprimir grupo 2".

Note que cada plataforma é diferente em termos da sua sintaxe Regex e substitui a sintaxe. muitos usam $number (como sed), outros usam \number (como o notepad ++), portanto, consulte a documentação do seu produto.

    
por 22.09.2016 / 21:38