Регулярное выражение для добавления пробела после 10 цифр

1926
THE DOCTOR

Как мне написать регулярное выражение для выполнения операции поиска / замены, чтобы добавить пробел после 10 цифр любого числа длиной 20 цифр?

У меня есть длинный список телефонных номеров, некоторые из которых случайно имеют длину 20 цифр, и мне нужно добавить пробел между ними.

Изменить : я пытался \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d \ d, который выбирает 20-значные числа, но замена этого пробела просто заменит все 20 цифр пустым пробелом, а не вставит пробел после 10 цифр.

Я пытаюсь сделать это с помощью Sublime Text на MacBook Pro.

0
Modified my question and added what I have tried so far and what I am using for this. THE DOCTOR 7 лет назад 0

1 ответ на вопрос

2
Frank Thomas

вам нужно использовать группы захвата, если вы хотите выполнять операции замены при сохранении компонентов исходной строки.

Ваше регулярное выражение будет следовать что-то вроде:

шаблон: "^([\d])([\d])" //two groups of 10

заменить: "$1 $2"

Скобки вокруг каждого шаблона для блока из десяти определяют группу захвата. поэтому мы говорим: «первые десять цифр в группе $ 1, а вторые 10 в группе $ 2». тогда мы просто говорим «напечатать группу 1, добавить пробел и напечатать группу 2».

Обратите внимание, что каждая платформа отличается с точки зрения синтаксиса Regex и заменяет синтаксис. многие используют $number(например, sed), другие используют \number(например, notepad ++), поэтому обязательно обратитесь к документации по вашему продукту.

Похожие вопросы