Как мне написать регулярное выражение для выполнения операции поиска/замены, чтобы добавить пробел после 10 цифр каждого числа длиной 20 цифр?
У меня есть длинный список телефонных номеров, некоторые из которых случайно содержат 20 цифр, и мне нужно добавить пробел между каждым таким номером.
Редактировать: Я попробовал \d\d\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.
решение1
вам нужно использоватьГруппы захватаесли вы хотите выполнить операции замены, сохранив компоненты исходной строки.
Ваше регулярное выражение будет выглядеть примерно так:
шаблон: "^([\d]{10})([\d]{10})" //two groups of 10
заменять: "$1 $2"
Скобки вокруг каждого шаблона для блока из десяти определяют группу захвата. Таким образом, мы говорим: «первые десять цифр в группе $1, а вторые 10 — в группе $2». Затем мы просто говорим: «вывести группу 1, добавить пробел и вывести группу 2».
Обратите внимание, что каждая платформа отличается с точки зрения синтаксиса регулярных выражений и синтаксиса замены. Многие используют один $number
(например, sed), другие используют другой \number
(например, notepad++), поэтому обязательно ознакомьтесь с документацией по вашему продукту.